tx · H7Y749WSCyzxKa9n4H2BSzQc4neRxeZKh4HabSpvPu6m 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA: -0.00500000 Waves 2024.03.09 00:34 [4075425] smart account 3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA > SELF 0.00000000 Waves
{ "type": 13, "id": "H7Y749WSCyzxKa9n4H2BSzQc4neRxeZKh4HabSpvPu6m", "fee": 500000, "feeAssetId": null, "timestamp": 1709933686122, "version": 1, "sender": "3P8auNWJkxxByyJtwErFXaxiXcGM45qQ1hA", "senderPublicKey": "9yREzSJ1wKURauYzfP3BPiQqjfujdgnAsSAYoA1sSN1q", "proofs": [ "2ou7Jx8iquRU7322rxigAuhywGMfqajY78w86zPTxfMSf3TuzsEMVCPizyuJZbW9z4BpzQAzVkZTpF8jbFspd3im" ], "script": "base64:BgIOCAISAwoBCBIDCgEIEgABAQFkAQFzCgEBeQIBdAF2AwkAAAIFAXQCAWkJAQ1wYXJzZUludFZhbHVlAQUBdgMJAAACBQF0AgFzBQF2AwkAAAIFAXQCAWIJAAACBQF2AgExCQACAQUBdAoBAWcCAW4BdgMJAAACBQFuAgAFA25pbAMJAAACBQFuAgExBAF0CQC1CQIFAXYCAToJAMwIAgkBAXkCCQCRAwIFAXQAAAkAkQMCBQF0AAEFA25pbAMJAAACBQFuAgEyBAF0CQC1CQIFAXYCAToJAMwIAgkBAXkCCQCRAwIFAXQAAAkAkQMCBQF0AAEJAMwIAgkBAXkCCQCRAwIFAXQAAgkAkQMCBQF0AAMFA25pbAMJAAACBQFuAgEzBAF0CQC1CQIFAXYCAToJAMwIAgkBAXkCCQCRAwIFAXQAAAkAkQMCBQF0AAEJAMwIAgkBAXkCCQCRAwIFAXQAAgkAkQMCBQF0AAMJAMwIAgkBAXkCCQCRAwIFAXQABAkAkQMCBQF0AAUFA25pbAMJAAACBQFuAgE0BAF0CQC1CQIFAXYCAToJAMwIAgkBAXkCCQCRAwIFAXQAAAkAkQMCBQF0AAEJAMwIAgkBAXkCCQCRAwIFAXQAAgkAkQMCBQF0AAMJAMwIAgkBAXkCCQCRAwIFAXQABAkAkQMCBQF0AAUJAMwIAgkBAXkCCQCRAwIFAXQABgkAkQMCBQF0AAcFA25pbAMJAAACBQFuAgE1BAF0CQC1CQIFAXYCAToJAMwIAgkBAXkCCQCRAwIFAXQAAAkAkQMCBQF0AAEJAMwIAgkBAXkCCQCRAwIFAXQAAgkAkQMCBQF0AAMJAMwIAgkBAXkCCQCRAwIFAXQABAkAkQMCBQF0AAUJAMwIAgkBAXkCCQCRAwIFAXQABgkAkQMCBQF0AAcJAMwIAgkBAXkCCQCRAwIFAXQACAkAkQMCBQF0AAkFA25pbAkAAgEFAW4KAQF3AgF2AWkDCQAAAgUBdgIAAwkAAAIFAWkCAAkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQICQDvBwEFBHRoaXMJYXZhaWxhYmxlCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAkBDXBhcnNlSW50VmFsdWUBBQFpAwkAAAIFAWkCAAkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUBdgkA8AcC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AXQABAkAAAIJAJEDAgUBdAAFAgExBQR1bml0CQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUBdAAHBQNuaWwDCQAAAgUBdQIBNgkAzAgCCQEHUmVpc3N1ZQMJANkEAQkAkQMCBQF0AAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQF0AAIJAAACCQCRAwIFAXQAAwIBMQUDbmlsAwkAAAIFAXUCATcJAMwIAgkBBEJ1cm4CCQDZBAEJAJEDAgUBdAABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUBdAACBQNuaWwDCQAAAgUBdQIBOAkAzAgCCQEKU3BvbnNvckZlZQIJANkEAQkAkQMCBQF0AAEDCQAAAgkAkQMCBQF0AAICAAUEdW5pdAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAXQAAgUDbmlsAwkAAAIFAXUCATkJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBAWEBCQCRAwIFAXQAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAXQAAgMJAAACCQCRAwIFAXQAAwIABQR1bml0CQDZBAEJAJEDAgUBdAADBQNuaWwDCQAAAgUBdQIBYQkAzAgCCQDFCAMJAQFhAQkAkQMCBQF0AAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQF0AAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQF0AAMFA25pbAMJAAACBQF1AgFiCQDMCAIJAQtMZWFzZUNhbmNlbAEJANkEAQkAkQMCBQF0AAEFA25pbAkAAgEFAXUKAAIkbAkAvAkCCQCwCQEJANsEAQUBcwIBfAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEBZgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyAWkBB2RlZmF1bHQAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIBIQkBAWQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgFzAI1Bs5s=", "chainId": 87, "height": 4075425, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ENuNubX2jkBiVmtYoftC6Woexhxq8rEfqoNAcvYgCv4K Next: none Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func d (s) = { | |
5 | + | func y (t,v) = if ((t == "i")) | |
6 | + | then parseIntValue(v) | |
7 | + | else if ((t == "s")) | |
8 | + | then v | |
9 | + | else if ((t == "b")) | |
10 | + | then (v == "1") | |
11 | + | else throw(t) | |
12 | + | ||
13 | + | func g (n,v) = if ((n == "")) | |
14 | + | then nil | |
15 | + | else if ((n == "1")) | |
16 | + | then { | |
17 | + | let t = split(v, ":") | |
18 | + | [y(t[0], t[1])] | |
19 | + | } | |
20 | + | else if ((n == "2")) | |
21 | + | then { | |
22 | + | let t = split(v, ":") | |
23 | + | [y(t[0], t[1]), y(t[2], t[3])] | |
24 | + | } | |
25 | + | else if ((n == "3")) | |
26 | + | then { | |
27 | + | let t = split(v, ":") | |
28 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5])] | |
29 | + | } | |
30 | + | else if ((n == "4")) | |
31 | + | then { | |
32 | + | let t = split(v, ":") | |
33 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7])] | |
34 | + | } | |
35 | + | else if ((n == "5")) | |
36 | + | then { | |
37 | + | let t = split(v, ":") | |
38 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7]), y(t[8], t[9])] | |
39 | + | } | |
40 | + | else throw(n) | |
41 | + | ||
42 | + | func w (v,i) = if ((v == "")) | |
43 | + | then if ((i == "")) | |
44 | + | then AttachedPayment(unit, wavesBalance(this).available) | |
45 | + | else AttachedPayment(unit, parseIntValue(i)) | |
46 | + | else if ((i == "")) | |
47 | + | then AttachedPayment(fromBase58String(v), assetBalance(this, fromBase58String(v))) | |
48 | + | else AttachedPayment(fromBase58String(v), parseIntValue(i)) | |
49 | + | ||
50 | + | func p (n,v) = if ((n == "")) | |
51 | + | then nil | |
52 | + | else if ((n == "1")) | |
53 | + | then { | |
54 | + | let t = split(v, ":") | |
55 | + | [w(t[0], t[1])] | |
56 | + | } | |
57 | + | else if ((n == "2")) | |
58 | + | then { | |
59 | + | let t = split(v, ":") | |
60 | + | [w(t[0], t[1]), w(t[2], t[3])] | |
61 | + | } | |
62 | + | else throw(n) | |
63 | + | ||
64 | + | func f (a,v) = { | |
65 | + | let t = split(v, ";") | |
66 | + | invoke(Address(fromBase58String(t[0])), t[1], g(t[2], t[3]), p(t[4], t[5])) | |
67 | + | } | |
68 | + | ||
69 | + | let c = if ((size(s) == 1)) | |
70 | + | then getStringValue(this, s) | |
71 | + | else s | |
72 | + | let x = { | |
73 | + | let $l = split_4C(toUtf8String(fromBase64String(c)), "|") | |
74 | + | let $s = size($l) | |
75 | + | let $acc0 = 0 | |
76 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
77 | + | then $a | |
78 | + | else f($a, $l[$i]) | |
79 | + | ||
80 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
81 | + | then $a | |
82 | + | else throw("List size exceeds 50") | |
83 | + | ||
84 | + | $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($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($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), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50) | |
85 | + | } | |
86 | + | if ((x == x)) | |
87 | + | then nil | |
88 | + | else throw("Strict value is not equal to itself.") | |
89 | + | } | |
4 | 90 | ||
5 | 91 | ||
6 | 92 | @Callable(i) | |
7 | 93 | func x (s) = if ((i.caller != this)) | |
8 | 94 | then throw("!") | |
9 | - | else { | |
10 | - | func y (t,v) = if ((t == "i")) | |
11 | - | then parseIntValue(v) | |
12 | - | else if ((t == "s")) | |
13 | - | then v | |
14 | - | else if ((t == "b")) | |
15 | - | then (v == "1") | |
16 | - | else throw(t) | |
17 | - | ||
18 | - | func g (n,v) = if ((n == "")) | |
19 | - | then nil | |
20 | - | else if ((n == "1")) | |
21 | - | then { | |
22 | - | let t = split(v, ":") | |
23 | - | [y(t[0], t[1])] | |
24 | - | } | |
25 | - | else if ((n == "2")) | |
26 | - | then { | |
27 | - | let t = split(v, ":") | |
28 | - | [y(t[0], t[1]), y(t[2], t[3])] | |
29 | - | } | |
30 | - | else if ((n == "3")) | |
31 | - | then { | |
32 | - | let t = split(v, ":") | |
33 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5])] | |
34 | - | } | |
35 | - | else if ((n == "4")) | |
36 | - | then { | |
37 | - | let t = split(v, ":") | |
38 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7])] | |
39 | - | } | |
40 | - | else if ((n == "5")) | |
41 | - | then { | |
42 | - | let t = split(v, ":") | |
43 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7]), y(t[8], t[9])] | |
44 | - | } | |
45 | - | else throw(n) | |
46 | - | ||
47 | - | func w (v,i) = if ((v == "")) | |
48 | - | then if ((i == "")) | |
49 | - | then AttachedPayment(unit, wavesBalance(this).available) | |
50 | - | else AttachedPayment(unit, parseIntValue(i)) | |
51 | - | else if ((i == "")) | |
52 | - | then AttachedPayment(fromBase58String(v), assetBalance(this, fromBase58String(v))) | |
53 | - | else AttachedPayment(fromBase58String(v), parseIntValue(i)) | |
54 | - | ||
55 | - | func p (n,v) = if ((n == "")) | |
56 | - | then nil | |
57 | - | else if ((n == "1")) | |
58 | - | then { | |
59 | - | let t = split(v, ":") | |
60 | - | [w(t[0], t[1])] | |
61 | - | } | |
62 | - | else if ((n == "2")) | |
63 | - | then { | |
64 | - | let t = split(v, ":") | |
65 | - | [w(t[0], t[1]), w(t[2], t[3])] | |
66 | - | } | |
67 | - | else throw(n) | |
68 | - | ||
69 | - | func f (a,v) = { | |
70 | - | let t = split(v, ";") | |
71 | - | invoke(Address(fromBase58String(t[0])), t[1], g(t[2], t[3]), p(t[4], t[5])) | |
72 | - | } | |
73 | - | ||
74 | - | let c = if ((size(s) == 1)) | |
75 | - | then getStringValue(this, s) | |
76 | - | else s | |
77 | - | let x = { | |
78 | - | let $l = split_4C(toUtf8String(fromBase64String(c)), "|") | |
79 | - | let $s = size($l) | |
80 | - | let $acc0 = 0 | |
81 | - | func $f0_1 ($a,$i) = if (($i >= $s)) | |
82 | - | then $a | |
83 | - | else f($a, $l[$i]) | |
84 | - | ||
85 | - | func $f0_2 ($a,$i) = if (($i >= $s)) | |
86 | - | then $a | |
87 | - | else throw("List size exceeds 50") | |
88 | - | ||
89 | - | $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($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($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), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50) | |
90 | - | } | |
91 | - | if ((x == x)) | |
92 | - | then nil | |
93 | - | else throw("Strict value is not equal to itself.") | |
94 | - | } | |
95 | + | else d(s) | |
95 | 96 | ||
96 | 97 | ||
97 | 98 | ||
155 | 156 | } | |
156 | 157 | ||
157 | 158 | ||
159 | + | ||
160 | + | @Callable(i) | |
161 | + | func default () = if ((i.caller != this)) | |
162 | + | then throw("!") | |
163 | + | else d(getStringValue(this, "s")) | |
164 | + | ||
165 | + |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func d (s) = { | |
5 | + | func y (t,v) = if ((t == "i")) | |
6 | + | then parseIntValue(v) | |
7 | + | else if ((t == "s")) | |
8 | + | then v | |
9 | + | else if ((t == "b")) | |
10 | + | then (v == "1") | |
11 | + | else throw(t) | |
12 | + | ||
13 | + | func g (n,v) = if ((n == "")) | |
14 | + | then nil | |
15 | + | else if ((n == "1")) | |
16 | + | then { | |
17 | + | let t = split(v, ":") | |
18 | + | [y(t[0], t[1])] | |
19 | + | } | |
20 | + | else if ((n == "2")) | |
21 | + | then { | |
22 | + | let t = split(v, ":") | |
23 | + | [y(t[0], t[1]), y(t[2], t[3])] | |
24 | + | } | |
25 | + | else if ((n == "3")) | |
26 | + | then { | |
27 | + | let t = split(v, ":") | |
28 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5])] | |
29 | + | } | |
30 | + | else if ((n == "4")) | |
31 | + | then { | |
32 | + | let t = split(v, ":") | |
33 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7])] | |
34 | + | } | |
35 | + | else if ((n == "5")) | |
36 | + | then { | |
37 | + | let t = split(v, ":") | |
38 | + | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7]), y(t[8], t[9])] | |
39 | + | } | |
40 | + | else throw(n) | |
41 | + | ||
42 | + | func w (v,i) = if ((v == "")) | |
43 | + | then if ((i == "")) | |
44 | + | then AttachedPayment(unit, wavesBalance(this).available) | |
45 | + | else AttachedPayment(unit, parseIntValue(i)) | |
46 | + | else if ((i == "")) | |
47 | + | then AttachedPayment(fromBase58String(v), assetBalance(this, fromBase58String(v))) | |
48 | + | else AttachedPayment(fromBase58String(v), parseIntValue(i)) | |
49 | + | ||
50 | + | func p (n,v) = if ((n == "")) | |
51 | + | then nil | |
52 | + | else if ((n == "1")) | |
53 | + | then { | |
54 | + | let t = split(v, ":") | |
55 | + | [w(t[0], t[1])] | |
56 | + | } | |
57 | + | else if ((n == "2")) | |
58 | + | then { | |
59 | + | let t = split(v, ":") | |
60 | + | [w(t[0], t[1]), w(t[2], t[3])] | |
61 | + | } | |
62 | + | else throw(n) | |
63 | + | ||
64 | + | func f (a,v) = { | |
65 | + | let t = split(v, ";") | |
66 | + | invoke(Address(fromBase58String(t[0])), t[1], g(t[2], t[3]), p(t[4], t[5])) | |
67 | + | } | |
68 | + | ||
69 | + | let c = if ((size(s) == 1)) | |
70 | + | then getStringValue(this, s) | |
71 | + | else s | |
72 | + | let x = { | |
73 | + | let $l = split_4C(toUtf8String(fromBase64String(c)), "|") | |
74 | + | let $s = size($l) | |
75 | + | let $acc0 = 0 | |
76 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
77 | + | then $a | |
78 | + | else f($a, $l[$i]) | |
79 | + | ||
80 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
81 | + | then $a | |
82 | + | else throw("List size exceeds 50") | |
83 | + | ||
84 | + | $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($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($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), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50) | |
85 | + | } | |
86 | + | if ((x == x)) | |
87 | + | then nil | |
88 | + | else throw("Strict value is not equal to itself.") | |
89 | + | } | |
4 | 90 | ||
5 | 91 | ||
6 | 92 | @Callable(i) | |
7 | 93 | func x (s) = if ((i.caller != this)) | |
8 | 94 | then throw("!") | |
9 | - | else { | |
10 | - | func y (t,v) = if ((t == "i")) | |
11 | - | then parseIntValue(v) | |
12 | - | else if ((t == "s")) | |
13 | - | then v | |
14 | - | else if ((t == "b")) | |
15 | - | then (v == "1") | |
16 | - | else throw(t) | |
17 | - | ||
18 | - | func g (n,v) = if ((n == "")) | |
19 | - | then nil | |
20 | - | else if ((n == "1")) | |
21 | - | then { | |
22 | - | let t = split(v, ":") | |
23 | - | [y(t[0], t[1])] | |
24 | - | } | |
25 | - | else if ((n == "2")) | |
26 | - | then { | |
27 | - | let t = split(v, ":") | |
28 | - | [y(t[0], t[1]), y(t[2], t[3])] | |
29 | - | } | |
30 | - | else if ((n == "3")) | |
31 | - | then { | |
32 | - | let t = split(v, ":") | |
33 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5])] | |
34 | - | } | |
35 | - | else if ((n == "4")) | |
36 | - | then { | |
37 | - | let t = split(v, ":") | |
38 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7])] | |
39 | - | } | |
40 | - | else if ((n == "5")) | |
41 | - | then { | |
42 | - | let t = split(v, ":") | |
43 | - | [y(t[0], t[1]), y(t[2], t[3]), y(t[4], t[5]), y(t[6], t[7]), y(t[8], t[9])] | |
44 | - | } | |
45 | - | else throw(n) | |
46 | - | ||
47 | - | func w (v,i) = if ((v == "")) | |
48 | - | then if ((i == "")) | |
49 | - | then AttachedPayment(unit, wavesBalance(this).available) | |
50 | - | else AttachedPayment(unit, parseIntValue(i)) | |
51 | - | else if ((i == "")) | |
52 | - | then AttachedPayment(fromBase58String(v), assetBalance(this, fromBase58String(v))) | |
53 | - | else AttachedPayment(fromBase58String(v), parseIntValue(i)) | |
54 | - | ||
55 | - | func p (n,v) = if ((n == "")) | |
56 | - | then nil | |
57 | - | else if ((n == "1")) | |
58 | - | then { | |
59 | - | let t = split(v, ":") | |
60 | - | [w(t[0], t[1])] | |
61 | - | } | |
62 | - | else if ((n == "2")) | |
63 | - | then { | |
64 | - | let t = split(v, ":") | |
65 | - | [w(t[0], t[1]), w(t[2], t[3])] | |
66 | - | } | |
67 | - | else throw(n) | |
68 | - | ||
69 | - | func f (a,v) = { | |
70 | - | let t = split(v, ";") | |
71 | - | invoke(Address(fromBase58String(t[0])), t[1], g(t[2], t[3]), p(t[4], t[5])) | |
72 | - | } | |
73 | - | ||
74 | - | let c = if ((size(s) == 1)) | |
75 | - | then getStringValue(this, s) | |
76 | - | else s | |
77 | - | let x = { | |
78 | - | let $l = split_4C(toUtf8String(fromBase64String(c)), "|") | |
79 | - | let $s = size($l) | |
80 | - | let $acc0 = 0 | |
81 | - | func $f0_1 ($a,$i) = if (($i >= $s)) | |
82 | - | then $a | |
83 | - | else f($a, $l[$i]) | |
84 | - | ||
85 | - | func $f0_2 ($a,$i) = if (($i >= $s)) | |
86 | - | then $a | |
87 | - | else throw("List size exceeds 50") | |
88 | - | ||
89 | - | $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($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($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), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50) | |
90 | - | } | |
91 | - | if ((x == x)) | |
92 | - | then nil | |
93 | - | else throw("Strict value is not equal to itself.") | |
94 | - | } | |
95 | + | else d(s) | |
95 | 96 | ||
96 | 97 | ||
97 | 98 | ||
98 | 99 | @Callable(i) | |
99 | 100 | func o (s) = if ((i.caller != this)) | |
100 | 101 | then throw("!") | |
101 | 102 | else { | |
102 | 103 | func a (l) = match addressFromString(l) { | |
103 | 104 | case a: Address => | |
104 | 105 | a | |
105 | 106 | case _ => | |
106 | 107 | addressFromRecipient(Alias(l)) | |
107 | 108 | } | |
108 | 109 | ||
109 | 110 | func f (a,v) = { | |
110 | 111 | let t = split(v, ";") | |
111 | 112 | let u = t[0] | |
112 | 113 | (a ++ (if ((u == "0")) | |
113 | 114 | then [BinaryEntry(t[1], fromBase58String(t[2]))] | |
114 | 115 | else if ((u == "1")) | |
115 | 116 | then [BooleanEntry(t[1], (t[2] == "1"))] | |
116 | 117 | else if ((u == "2")) | |
117 | 118 | then [IntegerEntry(t[1], parseIntValue(t[2]))] | |
118 | 119 | else if ((u == "3")) | |
119 | 120 | then [StringEntry(t[1], t[2])] | |
120 | 121 | else if ((u == "4")) | |
121 | 122 | then [DeleteEntry(t[1])] | |
122 | 123 | else if ((u == "5")) | |
123 | 124 | then [Issue(t[1], t[2], parseIntValue(t[3]), parseIntValue(t[4]), (t[5] == "1"), unit, parseIntValue(t[7]))] | |
124 | 125 | else if ((u == "6")) | |
125 | 126 | then [Reissue(fromBase58String(t[1]), parseIntValue(t[2]), (t[3] == "1"))] | |
126 | 127 | else if ((u == "7")) | |
127 | 128 | then [Burn(fromBase58String(t[1]), parseIntValue(t[2]))] | |
128 | 129 | else if ((u == "8")) | |
129 | 130 | then [SponsorFee(fromBase58String(t[1]), if ((t[2] == "")) | |
130 | 131 | then unit | |
131 | 132 | else parseIntValue(t[2]))] | |
132 | 133 | else if ((u == "9")) | |
133 | 134 | then [ScriptTransfer(a(t[1]), parseIntValue(t[2]), if ((t[3] == "")) | |
134 | 135 | then unit | |
135 | 136 | else fromBase58String(t[3]))] | |
136 | 137 | else if ((u == "a")) | |
137 | 138 | then [Lease(a(t[1]), parseIntValue(t[2]), parseIntValue(t[3]))] | |
138 | 139 | else if ((u == "b")) | |
139 | 140 | then [LeaseCancel(fromBase58String(t[1]))] | |
140 | 141 | else throw(u))) | |
141 | 142 | } | |
142 | 143 | ||
143 | 144 | let $l = split_4C(toUtf8String(fromBase64String(s)), "|") | |
144 | 145 | let $s = size($l) | |
145 | 146 | let $acc0 = nil | |
146 | 147 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
147 | 148 | then $a | |
148 | 149 | else f($a, $l[$i]) | |
149 | 150 | ||
150 | 151 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
151 | 152 | then $a | |
152 | 153 | else throw("List size exceeds 50") | |
153 | 154 | ||
154 | 155 | $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($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($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), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50) | |
155 | 156 | } | |
156 | 157 | ||
157 | 158 | ||
159 | + | ||
160 | + | @Callable(i) | |
161 | + | func default () = if ((i.caller != this)) | |
162 | + | then throw("!") | |
163 | + | else d(getStringValue(this, "s")) | |
164 | + | ||
165 | + |
github/deemru/w8io/6500d08 37.10 ms ◑