tx · Nm8XJ9kjBscDiTQ1krUdGpnXPAZQpWgeFZTobyBRaHF 3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV: -0.00200000 Waves 2023.04.26 23:12 [2551974] smart account 3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV > SELF 0.00000000 Waves
{ "type": 13, "id": "Nm8XJ9kjBscDiTQ1krUdGpnXPAZQpWgeFZTobyBRaHF", "fee": 200000, "feeAssetId": null, "timestamp": 1682539971486, "version": 1, "sender": "3MtEi5vvwnSsHxTQh7L1tN1TqUWDzZGotZV", "senderPublicKey": "5vatV6DGBbB26P6sid7YsMydWWke53vKCsAM2akKuXXm", "proofs": [ "wXMbveM1J939xhPfkGJKqZT6icHNTcK9dEreqFZQoR3AJs6AkG8nXZSqYQzWEjmo5HW8cZvERfx2VJRwntw4gxR" ], "script": "base64:BgIECAISAAYACHJlY2VpdmVyCQEHQWRkcmVzcwEBGgFUGka9OmWcMzmsn6UEd761d70UF0omV1ldAAFyCQEHQWRkcmVzcwEBGgFU0bzJU35CJJvLVpUtc7pcARyHATi9z6uUAAFzCQEHQWRkcmVzcwEBGgFUBdDRB9MyA3sY2aNrXhTUhmsB2dXLhEFoAAF3CQEHQWRkcmVzcwEBGgFUj/pdlJyLAVLnyQL4NA8O85EC0Jc5XAYNAQxnZXRJbnRPclplcm8BA2tleQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQNrZXkAAAEPZ2V0TGFzdEV2bUV2ZW50AQdjaGFpbklkBAFlAgMxNzgEAWQJALUJAgkBEUBleHRyTmF0aXZlKDEwNTMpAgUBdwkArAICAgtFVk1fRVZFTlRfXwUBZQICX18EBnJzaWdtYQkAygECCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAXMJAKwCAgkArAICCQCsAgICCVJfU0lHTUFfXwUHY2hhaW5JZAICX18FAWUAAQQGc3NpZ21hCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAXMJAKwCAgkArAICCQCsAgICCVNfU0lHTUFfXwUHY2hhaW5JZAICX18FAWUEBHNpZzEJANwEAQkAywECCQDLAQIFBnJzaWdtYQUGc3NpZ21hCQCaAwEAGwQEc2lnMgkA3AQBCQDLAQIJAMsBAgUGcnNpZ21hBQZzc2lnbWEJAJoDAQAcCQC5CQIJAMwIAgkAkQMCBQFkAAAJAMwIAgkAkQMCBQFkAAEJAMwIAgkAkQMCBQFkAAIJAMwIAgkAkQMCBQFkAAUJAMwIAgkAkQMCBQFkAAMJAMwIAgkAkQMCBQFkAAQJAMwIAgUEc2lnMQkAzAgCBQRzaWcyBQNuaWwCAV8BAWkBB2RlZmF1bHQAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIKb25seSBhZG1pbgQBZQkApAMBCQERQGV4dHJOYXRpdmUoMTA1MCkCBQFzCQCsAgICGlNJR05FRF9FVkVOVF9FWEVDVVRPUl9fMV9fCQCkAwEJAGUCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQFzAh5TSUdORURfRVZFTlRfRVhFQ1VUT1JfXzFfX1NJWkUAAQQBZAkAtQkCCQERQGV4dHJOYXRpdmUoMTA1MykCBQF3CQCsAgICDVdBVkVTX0VWRU5UX18FAWUCAl9fBARhcmdzCQC1CQIJAJEDAgUBZAAFAgQjIyMjBANpbnYJAPwHBAUBcgIHZXhlY3V0ZQkAzAgCCQCRAwIFAWQAAwkAzAgCCQCRAwIFAWQABAkAzAgCBQRhcmdzCQDMCAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQFkAAAJAMwIAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAWQAAQkAzAgCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUBZAACCQDMCAIJAJEDAgUBZAAGCQDMCAIJANgEAQkAywECCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAXMJAKwCAgIMUl9TSUdNQV9fMV9fBQFlCQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFAXMJAKwCAgIMU19TSUdNQV9fMV9fBQFlBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQNbWludGVyQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQRhcmdzAAEECGFzc2V0U3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBQ1taW50ZXJBZGRyZXNzAgVBU1NFVAQFYXNzZXQJANkEAQUIYXNzZXRTdHIEB2JhbGFuY2UJAPAHAgUEdGhpcwUFYXNzZXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUIcmVjZWl2ZXIFB2JhbGFuY2UFBWFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICAgdwcm9maXRfBQhhc3NldFN0cgIBXwkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUHYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAgx0b3RhbFByb2ZpdF8FCGFzc2V0U3RyCQBkAgkBDGdldEludE9yWmVybwEJAKwCAgIMdG90YWxQcm9maXRfBQhhc3NldFN0cgUHYmFsYW5jZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAHJQLfA=", "chainId": 84, "height": 2551974, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C4Lh12U5zjEJ8q2oEpxrF4ZFbFHG4d7pTAAA8Q4pxE84 Next: 6wqF4BPyeP82EAF4QwPXv5BJxwRCaYoSiEhRQA3MyB3P Diff:
Old | New | Differences | |
---|---|---|---|
15 | 15 | func getLastEvmEvent (chainId) = { | |
16 | 16 | let e = "178" | |
17 | 17 | let d = split(getStringValue(w, ("EVM_EVENT__" + e)), "__") | |
18 | - | let sig = toBase16String((fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))) + fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))))) | |
19 | - | makeString([d[0], d[1], d[2], d[5], d[3], d[4], sig], "_") | |
18 | + | let rsigma = drop(fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))), 1) | |
19 | + | let ssigma = fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))) | |
20 | + | let sig1 = toBase16String(((rsigma + ssigma) + toBytes(27))) | |
21 | + | let sig2 = toBase16String(((rsigma + ssigma) + toBytes(28))) | |
22 | + | makeString([d[0], d[1], d[2], d[5], d[3], d[4], sig1, sig2], "_") | |
20 | 23 | } | |
21 | 24 | ||
22 | 25 |
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 | 16 | let e = "178" | |
17 | 17 | let d = split(getStringValue(w, ("EVM_EVENT__" + e)), "__") | |
18 | - | let sig = toBase16String((fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))) + fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))))) | |
19 | - | makeString([d[0], d[1], d[2], d[5], d[3], d[4], sig], "_") | |
18 | + | let rsigma = drop(fromBase58String(getStringValue(s, ((("R_SIGMA__" + chainId) + "__") + e))), 1) | |
19 | + | let ssigma = fromBase58String(getStringValue(s, ((("S_SIGMA__" + chainId) + "__") + e))) | |
20 | + | let sig1 = toBase16String(((rsigma + ssigma) + toBytes(27))) | |
21 | + | let sig2 = toBase16String(((rsigma + ssigma) + toBytes(28))) | |
22 | + | makeString([d[0], d[1], d[2], d[5], d[3], d[4], sig1, sig2], "_") | |
20 | 23 | } | |
21 | 24 | ||
22 | 25 | ||
23 | 26 | @Callable(i) | |
24 | 27 | func default () = if ((i.caller != this)) | |
25 | 28 | then throw("only admin") | |
26 | 29 | else { | |
27 | 30 | let e = toString(getIntegerValue(s, ("SIGNED_EVENT_EXECUTOR__1__" + toString((getIntegerValue(s, "SIGNED_EVENT_EXECUTOR__1__SIZE") - 1))))) | |
28 | 31 | let d = split(getStringValue(w, ("WAVES_EVENT__" + e)), "__") | |
29 | 32 | let args = split(d[5], "####") | |
30 | 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) | |
31 | 34 | if ((inv == inv)) | |
32 | 35 | then { | |
33 | 36 | let minterAddress = addressFromStringValue(args[1]) | |
34 | 37 | let assetStr = getStringValue(minterAddress, "ASSET") | |
35 | 38 | let asset = fromBase58String(assetStr) | |
36 | 39 | let balance = assetBalance(this, asset) | |
37 | 40 | [ScriptTransfer(receiver, balance, asset), IntegerEntry(((("profit_" + assetStr) + "_") + toString(lastBlock.timestamp)), balance), IntegerEntry(("totalProfit_" + assetStr), (getIntOrZero(("totalProfit_" + assetStr)) + balance))] | |
38 | 41 | } | |
39 | 42 | else throw("Strict value is not equal to itself.") | |
40 | 43 | } | |
41 | 44 | ||
42 | 45 |
github/deemru/w8io/026f985 27.28 ms ◑