tx · FZSv3vbHNdt335yXuQRgQqDPsPz6c54wRcCYCjwPUPx1 3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV: -0.00200000 Waves 2023.04.27 00:02 [2552023] smart account 3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV > SELF 0.00000000 Waves
{ "type": 13, "id": "FZSv3vbHNdt335yXuQRgQqDPsPz6c54wRcCYCjwPUPx1", "fee": 200000, "feeAssetId": null, "timestamp": 1682542919591, "version": 1, "sender": "3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV", "senderPublicKey": "5vatV6DGBbB26P6sid7YsMydWWke53vKCsAM2akKuXXm", "proofs": [ "2PW6JHRATwjsRavW3RULmj1sHRimFUmbf5VCuLyDJFjHkm4tNaVipD77PKHPvMiTbyzVeNsQuiHMfzmNuxUHAMPn" ], "script": "base64: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", "chainId": 84, "height": 2552023, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4LD1AN2PJZ97dzFWjhVmvdenzS6gHyFnm5exdTzXSS9Q Next: none Diff:
Old | New | Differences | |
---|---|---|---|
13 | 13 | ||
14 | 14 | ||
15 | 15 | func getLastEvmEvent (chainId) = { | |
16 | - | let e = " | |
16 | + | let e = toString(getIntegerValue(s, ((("SIGNED_EVENT_EXECUTOR__" + chainId) + "__") + toString((getIntegerValue(s, (("SIGNED_EVENT_EXECUTOR__" + chainId) + "__SIZE")) - 1))))) | |
17 | 17 | let d = split(getStringValue(w, ("EVM_EVENT__" + e)), "__") | |
18 | 18 | let rsigma = drop(fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))), 1) | |
19 | 19 | let ssigma = fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let receiver = Address(base58'3MrK25xAkfYJt1VYu9ZVMmQhZD8XwrT1DgQ') | |
5 | 5 | ||
6 | 6 | let r = Address(base58'3N935A8AAp2u1isbYYqX3Kp9prZmHF6kNps') | |
7 | 7 | ||
8 | 8 | let s = Address(base58'3MpSqJhv64PR2m7Ywctv1Mp2Kjt3EUk3CSK') | |
9 | 9 | ||
10 | 10 | let w = Address(base58'3N33NL4BGxFEEiXKgnENVRDiE3RwkYmaNmS') | |
11 | 11 | ||
12 | 12 | func getIntOrZero (key) = valueOrElse(getInteger(key), 0) | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func getLastEvmEvent (chainId) = { | |
16 | - | let e = " | |
16 | + | let e = toString(getIntegerValue(s, ((("SIGNED_EVENT_EXECUTOR__" + chainId) + "__") + toString((getIntegerValue(s, (("SIGNED_EVENT_EXECUTOR__" + chainId) + "__SIZE")) - 1))))) | |
17 | 17 | let d = split(getStringValue(w, ("EVM_EVENT__" + e)), "__") | |
18 | 18 | let rsigma = drop(fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))), 1) | |
19 | 19 | let ssigma = fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))) | |
20 | 20 | let sig1 = toBase64String(((rsigma + ssigma) + base58'V')) | |
21 | 21 | let sig2 = toBase64String(((rsigma + ssigma) + base58'U')) | |
22 | 22 | [d[0], d[1], d[2], d[5], d[3], d[4], sig1, sig2] | |
23 | 23 | } | |
24 | 24 | ||
25 | 25 | ||
26 | 26 | @Callable(i) | |
27 | 27 | func default () = if ((i.caller != this)) | |
28 | 28 | then throw("only admin") | |
29 | 29 | else { | |
30 | 30 | let e = toString(getIntegerValue(s, ("SIGNED_EVENT_EXECUTOR__1__" + toString((getIntegerValue(s, "SIGNED_EVENT_EXECUTOR__1__SIZE") - 1))))) | |
31 | 31 | let d = split(getStringValue(w, ("WAVES_EVENT__" + e)), "__") | |
32 | 32 | let args = split(d[5], "####") | |
33 | 33 | let inv = invoke(r, "execute", [d[3], d[4], args, parseIntValue(d[0]), parseIntValue(d[1]), parseIntValue(d[2]), d[6], toBase58String((fromBase58String(getStringValue(s, ("R_SIGMA__1__" + e))) + fromBase58String(getStringValue(s, ("S_SIGMA__1__" + e)))))], nil) | |
34 | 34 | if ((inv == inv)) | |
35 | 35 | then { | |
36 | 36 | let minterAddress = addressFromStringValue(args[1]) | |
37 | 37 | let assetStr = getStringValue(minterAddress, "ASSET") | |
38 | 38 | let asset = fromBase58String(assetStr) | |
39 | 39 | let balance = assetBalance(this, asset) | |
40 | 40 | [ScriptTransfer(receiver, balance, asset), IntegerEntry(((("profit_" + assetStr) + "_") + toString(lastBlock.timestamp)), balance), IntegerEntry(("totalProfit_" + assetStr), (getIntOrZero(("totalProfit_" + assetStr)) + balance))] | |
41 | 41 | } | |
42 | 42 | else throw("Strict value is not equal to itself.") | |
43 | 43 | } | |
44 | 44 | ||
45 | 45 |
github/deemru/w8io/026f985 27.75 ms ◑