tx · 4gXEvChp3mrge7wS26tjG74SN1rPCqUtfQD2wFSFU4eh 3MswZg1fApcC9ASPGWTzXVF1e36xrWrj73n: -0.01000000 Waves 2022.06.21 18:08 [2106319] smart account 3MswZg1fApcC9ASPGWTzXVF1e36xrWrj73n > SELF 0.00000000 Waves
{ "type": 13, "id": "4gXEvChp3mrge7wS26tjG74SN1rPCqUtfQD2wFSFU4eh", "fee": 1000000, "feeAssetId": null, "timestamp": 1655824157671, "version": 2, "chainId": 84, "sender": "3MswZg1fApcC9ASPGWTzXVF1e36xrWrj73n", "senderPublicKey": "44j2xzKGrREbsdWj2Rqjw9nddZuT8ShaBrK67Q6rJZvC", "proofs": [ "3qiJ92FkcswZ4gKBrnTr829ncGM6twZfAkadAB3JAWxgJkSvbs93aZLHmThQy5XF8Dbbdm4iGv8naDc6MkEnMB2L" ], "script": "base64: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RW50cnkAAAACCQEAAAARa2V5Q29udHJvbEFkZHJlc3MAAAAABQAAABBjb250cm9sQWRkcmVzczU4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlSZXN0QWRkcmVzcwAAAAAFAAAADXJlc3RBZGRyZXNzNTgFAAAAA25pbAAAAAFpAQAAABVzdGFrZU5zYnRQYWdlUkVBRE9OTFkAAAACAAAAEXVzZXJBZGRyZXNzU3RyT3B0AAAAC25zYnRBbXREaWZmBAAAAAlnbnNidEluZm8JAQAAAAhhc1N0cmluZwAAAAEJAAP8AAAABAUAAAAHcmVzdEFjYwIAAAARZ25zYnRJbmZvUkVBRE9OTFkJAARMAAAAAgUAAAARdXNlckFkZHJlc3NTdHJPcHQJAARMAAAAAgUAAAALbnNidEFtdERpZmYFAAAAA25pbAUAAAADbmlsBAAAAAhzd2FwSW5mbwkBAAAACGFzU3RyaW5nAAAAAQkAA/wAAAAEBQAAAAdyZXN0QWNjAgAAABBzd2FwSW5mb1JFQURPTkxZCQAETAAAAAIFAAAAEXVzZXJBZGRyZXNzU3RyT3B0BQAAAANuaWwFAAAAA25pbAkABRQAAAACBQAAAANuaWwJAQAAAAtwcm9kdWNlSnNvbgAAAAEJAARMAAAAAgIAAAARZ25zYnRJbmZvUkVBRE9OTFkJAARMAAAAAgUAAAAJZ25zYnRJbmZvCQAETAAAAAICAAAAEHN3YXBJbmZvUkVBRE9OTFkJAARMAAAAAgUAAAAIc3dhcEluZm8FAAAAA25pbAAAAAFpAQAAABNidXlOc2J0UGFnZVJFQURPTkxZAAAAAQAAABF1c2VyQWRkcmVzc1N0ck9wdAQAAAAJZ25zYnRJbmZvCQEAAAAIYXNTdHJpbmcAAAABCQAD/AAAAAQFAAAAB3Jlc3RBY2MCAAAAEWduc2J0SW5mb1JFQURPTkxZCQAETAAAAAIFAAAAEXVzZXJBZGRyZXNzU3RyT3B0CQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAUAAAADbmlsBAAAAA1uZXV0cmlub1N0YXRzCQEAAAAIYXNTdHJpbmcAAAABCQAD/AAAAAQFAAAAB3Jlc3RBY2MCAAAAFW5ldXRyaW5vU3RhdHNSRUFET05MWQUAAAADbmlsBQAAAANuaWwJAAUUAAAAAgUAAAADbmlsCQEAAAALcHJvZHVjZUpzb24AAAABCQAETAAAAAICAAAAEWduc2J0SW5mb1JFQURPTkxZCQAETAAAAAIFAAAACWduc2J0SW5mbwkABEwAAAACAgAAABVuZXV0cmlub1N0YXRzUkVBRE9OTFkJAARMAAAAAgUAAAANbmV1dHJpbm9TdGF0cwUAAAADbmlsAAAAAWkBAAAAD2dlbmVyaWNSRUFET05MWQAAAAEAAAAHcGF5bG9hZAQAAAAMZnVuY3NJbmRleGVzCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAQkABEwAAAACAAAAAAAAAAACCQAETAAAAAIAAAAAAAAAAAMJAARMAAAAAgAAAAAAAAAABAkABEwAAAACAAAAAAAAAAAFCQAETAAAAAIAAAAAAAAAAAYJAARMAAAAAgAAAAAAAAAABwkABEwAAAACAAAAAAAAAAAICQAETAAAAAIAAAAAAAAAAAkFAAAAA25pbAQAAAAMcGFyYW1JbmRleGVzCQAETAAAAAIAAAAAAAAAAAEJAARMAAAAAgAAAAAAAAAAAwkABEwAAAACAAAAAAAAAAAFCQAETAAAAAIAAAAAAAAAAAcJAARMAAAAAgAAAAAAAAAACQkABEwAAAACAAAAAAAAAAALBQAAAANuaWwEAAAACnBheWxvYWRBcnIJAAS1AAAAAgUAAAAHcGF5bG9hZAUAAAADU0VQCgEAAAAQaW52b2tlc0FncmVnYXRvcgAAAAIAAAAFYWNjdW0AAAAHZnVuY0lkeAQAAAAEY2FsbAkAAZEAAAACBQAAAApwYXlsb2FkQXJyBQAAAAdmdW5jSWR4BAAAAAdjYWxsQXJyCQAEtQAAAAIFAAAABGNhbGwCAAAAASsEAAAAB2FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAHY2FsbEFycgAAAAAAAAAAAAQAAAAIZnVuY05hbWUJAAGRAAAAAgUAAAAHY2FsbEFycgAAAAAAAAAAAQQAAAAJcGFyYW1zQXJyCQAEtQAAAAIJAAGRAAAAAgUAAAAHY2FsbEFycgAAAAAAAAAAAgIAAAABKwoBAAAAD3BhcmFtc0FncmVnYXRvcgAAAAIAAAAJcGFyYW1zQWNjAAAACHBhcmFtSWR4BAAAAAFwAwkAAAAAAAACCQABkQAAAAIFAAAACXBhcmFtc0FycgkAAGUAAAACBQAAAAhwYXJhbUlkeAAAAAAAAAAAAQIAAAABcwkAAZEAAAACBQAAAAlwYXJhbXNBcnIFAAAACHBhcmFtSWR4CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJcGFyYW1zQXJyBQAAAAhwYXJhbUlkeAkABE0AAAACBQAAAAlwYXJhbXNBY2MFAAAAAXAEAAAABnBhcmFtcwoAAAAAAiRsBQAAAAxwYXJhbUluZGV4ZXMKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBQAAAANuaWwKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAA9wYXJhbXNBZ3JlZ2F0b3IAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgNgkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYEAAAABnJlc3VsdAkBAAAACGFzU3RyaW5nAAAAAQkAA/wAAAAEBQAAAAdhZGRyZXNzBQAAAAhmdW5jTmFtZQUAAAAGcGFyYW1zBQAAAANuaWwJAAROAAAAAgUAAAAFYWNjdW0JAARMAAAAAgUAAAAIZnVuY05hbWUJAARMAAAAAgUAAAAGcmVzdWx0BQAAAANuaWwEAAAADmludm9rZXNSZXN1bHRzCgAAAAACJGwFAAAADGZ1bmNzSW5kZXhlcwoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAFAAAAA25pbAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAAEGludm9rZXNBZ3JlZ2F0b3IAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjBfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQAAAAUkZjBfMgAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIJAQAAAAUkZjBfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKCQAFFAAAAAIFAAAAA25pbAkBAAAAC3Byb2R1Y2VKc29uAAAAAQUAAAAOaW52b2tlc1Jlc3VsdHMAAAAALEpyNA==", "height": 2106319, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 55sNeuNEZttPuSXm3PjEEJR3xoVkXSyQbpbMgmtKRNxk Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let SEP = "__" | |
5 | + | ||
6 | + | func keyControlAddress () = "%s%s__config__controlAddress" | |
7 | + | ||
8 | + | ||
9 | + | func keyRestAddress () = "%s%s__config__restAddress" | |
10 | + | ||
11 | + | ||
12 | + | func getStrOrFail (key) = valueOrErrorMessage(getString(this, key), (("Mandatory this." + key) + " is not defined")) | |
13 | + | ||
14 | + | ||
15 | + | func getAddressOrFail (key) = valueOrErrorMessage(addressFromString(getStrOrFail(key)), ("fail to parse address for this." + key)) | |
16 | + | ||
17 | + | ||
18 | + | func asString (val) = match val { | |
19 | + | case valStr: String => | |
20 | + | valStr | |
21 | + | case _ => | |
22 | + | throw("fail to cast into String") | |
23 | + | } | |
24 | + | ||
25 | + | ||
26 | + | func produceJson (strMap) = { | |
27 | + | let indexes = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] | |
28 | + | let length = size(strMap) | |
29 | + | if (((length % 2) != 0)) | |
30 | + | then throw("only even args size is accepeted") | |
31 | + | else if ((length > size(indexes))) | |
32 | + | then throw(("strMap length is greater then " + toString(size(indexes)))) | |
33 | + | else { | |
34 | + | func produceJson (jsonAccum,nextIdx) = if (if (((nextIdx % 2) == 0)) | |
35 | + | then (length >= (nextIdx + 1)) | |
36 | + | else false) | |
37 | + | then (((((jsonAccum + " | |
38 | + | \"") + strMap[nextIdx]) + "\": \"") + strMap[(nextIdx + 1)]) + "\",") | |
39 | + | else jsonAccum | |
40 | + | ||
41 | + | let preJsonResult = { | |
42 | + | let $l = indexes | |
43 | + | let $s = size($l) | |
44 | + | let $acc0 = "" | |
45 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
46 | + | then $a | |
47 | + | else produceJson($a, $l[$i]) | |
48 | + | ||
49 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
50 | + | then $a | |
51 | + | else throw("List size exceeds 20") | |
52 | + | ||
53 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20) | |
54 | + | } | |
55 | + | (("{" + dropRight(preJsonResult, 1)) + "}") | |
56 | + | } | |
57 | + | } | |
58 | + | ||
59 | + | ||
60 | + | let controlAcc = getAddressOrFail(keyControlAddress()) | |
61 | + | ||
62 | + | let restAcc = getAddressOrFail(keyRestAddress()) | |
63 | + | ||
64 | + | @Callable(i) | |
65 | + | func constructor (controlAddress58,restAddress58) = if ((i.caller != this)) | |
66 | + | then throw("not authorized") | |
67 | + | else [StringEntry(keyControlAddress(), controlAddress58), StringEntry(keyRestAddress(), restAddress58)] | |
68 | + | ||
69 | + | ||
70 | + | ||
71 | + | @Callable(i) | |
72 | + | func stakeNsbtPageREADONLY (userAddressStrOpt,nsbtAmtDiff) = { | |
73 | + | let gnsbtInfo = asString(invoke(restAcc, "gnsbtInfoREADONLY", [userAddressStrOpt, nsbtAmtDiff], nil)) | |
74 | + | let swapInfo = asString(invoke(restAcc, "swapInfoREADONLY", [userAddressStrOpt], nil)) | |
75 | + | $Tuple2(nil, produceJson(["gnsbtInfoREADONLY", gnsbtInfo, "swapInfoREADONLY", swapInfo])) | |
76 | + | } | |
77 | + | ||
78 | + | ||
79 | + | ||
80 | + | @Callable(i) | |
81 | + | func buyNsbtPageREADONLY (userAddressStrOpt) = { | |
82 | + | let gnsbtInfo = asString(invoke(restAcc, "gnsbtInfoREADONLY", [userAddressStrOpt, 0], nil)) | |
83 | + | let neutrinoStats = asString(invoke(restAcc, "neutrinoStatsREADONLY", nil, nil)) | |
84 | + | $Tuple2(nil, produceJson(["gnsbtInfoREADONLY", gnsbtInfo, "neutrinoStatsREADONLY", neutrinoStats])) | |
85 | + | } | |
86 | + | ||
87 | + | ||
88 | + | ||
89 | + | @Callable(i) | |
90 | + | func genericREADONLY (payload) = { | |
91 | + | let funcsIndexes = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | |
92 | + | let paramIndexes = [1, 3, 5, 7, 9, 11] | |
93 | + | let payloadArr = split(payload, SEP) | |
94 | + | func invokesAgregator (accum,funcIdx) = { | |
95 | + | let call = payloadArr[funcIdx] | |
96 | + | let callArr = split(call, "+") | |
97 | + | let address = addressFromStringValue(callArr[0]) | |
98 | + | let funcName = callArr[1] | |
99 | + | let paramsArr = split(callArr[2], "+") | |
100 | + | func paramsAgregator (paramsAcc,paramIdx) = { | |
101 | + | let p = if ((paramsArr[(paramIdx - 1)] == "s")) | |
102 | + | then paramsArr[paramIdx] | |
103 | + | else parseIntValue(paramsArr[paramIdx]) | |
104 | + | (paramsAcc :+ p) | |
105 | + | } | |
106 | + | ||
107 | + | let params = { | |
108 | + | let $l = paramIndexes | |
109 | + | let $s = size($l) | |
110 | + | let $acc0 = nil | |
111 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
112 | + | then $a | |
113 | + | else paramsAgregator($a, $l[$i]) | |
114 | + | ||
115 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
116 | + | then $a | |
117 | + | else throw("List size exceeds 6") | |
118 | + | ||
119 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6) | |
120 | + | } | |
121 | + | let result = asString(invoke(address, funcName, params, nil)) | |
122 | + | (accum ++ [funcName, result]) | |
123 | + | } | |
124 | + | ||
125 | + | let invokesResults = { | |
126 | + | let $l = funcsIndexes | |
127 | + | let $s = size($l) | |
128 | + | let $acc0 = nil | |
129 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
130 | + | then $a | |
131 | + | else invokesAgregator($a, $l[$i]) | |
132 | + | ||
133 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
134 | + | then $a | |
135 | + | else throw("List size exceeds 10") | |
136 | + | ||
137 | + | $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
138 | + | } | |
139 | + | $Tuple2(nil, produceJson(invokesResults)) | |
140 | + | } | |
141 | + | ||
142 | + |
github/deemru/w8io/026f985 30.35 ms ◑