tx · AqGB9YNxmM25YiPHWDzJx88m9kMMvthT1fenhXFyaTmy 3MpePmToiGHKkuV2XpBzk7RmubYDV4bJbpX: -0.00400000 Waves 2024.05.22 18:34 [3117385] smart account 3MpePmToiGHKkuV2XpBzk7RmubYDV4bJbpX > SELF 0.00000000 Waves
{ "type": 13, "id": "AqGB9YNxmM25YiPHWDzJx88m9kMMvthT1fenhXFyaTmy", "fee": 400000, "feeAssetId": null, "timestamp": 1716392068452, "version": 2, "chainId": 84, "sender": "3MpePmToiGHKkuV2XpBzk7RmubYDV4bJbpX", "senderPublicKey": "BCUzjPTmWkt8H4m728Doj83ascDJ92SVWmZDz81z6Ccw", "proofs": [ "3S7rhDxdBf3Gkyy4KWLkr78KhUViHPg6UmbLMbxvrmv6uH4uEEq2CSxyv1LiMgf1tFQAHZTPeYyrNjgB15H2urTK" ], "script": "base64:BgIRCAISAwoBCBIICgYYGBgYGBgOAAdXYXZlc0lkAgVXQVZFUwAFQXJyMTAJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJBQNuaWwAEENvbmZpZ0FkZHJlc3NLZXkCDWNvbmZpZ0FkZHJlc3MAEUlucHV0c1F1YW50aXR5S2V5Ag5pbnB1dHNRdWFudGl0eQANQ29uZmlnQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUQQ29uZmlnQWRkcmVzc0tleQAOSW5wdXRzUXVhbnRpdHkJARFAZXh0ck5hdGl2ZSgxMDUwKQIFDUNvbmZpZ0FkZHJlc3MFEUlucHV0c1F1YW50aXR5S2V5ARVtYWtlQXNzZXRPcGVyYXRpb25LZXkDBWNoYWluBWFzc2V0CW9wZXJhdGlvbgkAuQkCCQDMCAICDmFzc2V0T3BlcmF0aW9uCQDMCAIFBWNoYWluCQDMCAIFBWFzc2V0CQDMCAIFCW9wZXJhdGlvbgUDbmlsAgFfAQ5tYWtlQ2hhaW5JZEtleQEFY2hhaW4JAKwCAgIIY2hhaW5JZF8FBWNoYWluARptYWtlQmxhY2tsaXN0ZWREZWxlZ2F0ZUtleQEIZGVsZWdhdGUJAKwCAgIUYmxhY2tsaXN0ZWREZWxlZ2F0ZV8FCGRlbGVnYXRlARZtYWtlSW5wdXRBc3NldEluZGV4S2V5AgVjaGFpbgVhc3NldAkAuQkCCQDMCAICD2lucHV0QXNzZXRJbmRleAkAzAgCBQVjaGFpbgkAzAgCBQVhc3NldAUDbmlsAgFfAQpnZXRDaGFpbklkAQVjaGFpbgkAmggCBQ1Db25maWdBZGRyZXNzCQEObWFrZUNoYWluSWRLZXkBBQVjaGFpbgEWZ2V0QmxhY2tsaXN0ZWREZWxlZ2F0ZQEIZGVsZWdhdGUJAJsIAgUNQ29uZmlnQWRkcmVzcwkBGm1ha2VCbGFja2xpc3RlZERlbGVnYXRlS2V5AQUIZGVsZWdhdGUBEmdldElucHV0QXNzZXRJbmRleAIFY2hhaW4FYXNzZXQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFDUNvbmZpZ0FkZHJlc3MJARZtYWtlSW5wdXRBc3NldEluZGV4S2V5AgUFY2hhaW4FBWFzc2V0ARFnZXRBc3NldE9wZXJhdGlvbgMFY2hhaW4FYXNzZXQJb3BlcmF0aW9uCQCaCAIFDUNvbmZpZ0FkZHJlc3MJARVtYWtlQXNzZXRPcGVyYXRpb25LZXkDBQVjaGFpbgUFYXNzZXQFCW9wZXJhdGlvbgIBaQEFc2V0dXABDWNvbmZpZ0FkZHJlc3MDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg1BY2Nlc3MgZGVuaWVkAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIXUGF5bWVudHMgYXJlIHByb2hpYml0ZWQDCQAAAgkApggBBQ1jb25maWdBZGRyZXNzBQR1bml0CQACAQkArAICAhdJbnZhbGlkIGNvbmZpZ0FkZHJlc3M6IAUNY29uZmlnQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRBDb25maWdBZGRyZXNzS2V5BQ1jb25maWdBZGRyZXNzBQNuaWwBaQENYXBwbHlTZXR0aW5ncwYLaW5wdXRDaGFpbnMLaW5wdXRBc3NldHMMb3V0cHV0Q2hhaW5zDG91dHB1dEFzc2V0cw9hc3NldE9wZXJhdGlvbnMJZGVsZWdhdGVzAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIXUGF5bWVudHMgYXJlIHByb2hpYml0ZWQDCQAAAggFAWkGY2FsbGVyBQR0aGlzCQACAQIXU2VsZiBjYWxsIGlzIHByb2hpYml0ZWQEEGNhbGxlckFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyBA9pbnB1dENoYWluc1NpemUJAJADAQULaW5wdXRDaGFpbnMED2lucHV0QXNzZXRzU2l6ZQkAkAMBBQtpbnB1dEFzc2V0cwQQb3V0cHV0Q2hhaW5zU2l6ZQkAkAMBBQxvdXRwdXRDaGFpbnMEEG91dHB1dEFzc2V0c1NpemUJAJADAQUMb3V0cHV0QXNzZXRzBBNhc3NldE9wZXJhdGlvbnNTaXplCQCQAwEFD2Fzc2V0T3BlcmF0aW9ucwQNZGVsZWdhdGVzU2l6ZQkAkAMBBQlkZWxlZ2F0ZXMDAwMDAwMJAQIhPQIFDklucHV0c1F1YW50aXR5BQ9pbnB1dENoYWluc1NpemUGCQECIT0CBQ9pbnB1dENoYWluc1NpemUFD2lucHV0QXNzZXRzU2l6ZQYJAQIhPQIFD2lucHV0QXNzZXRzU2l6ZQUQb3V0cHV0Q2hhaW5zU2l6ZQYJAQIhPQIFEG91dHB1dENoYWluc1NpemUFEG91dHB1dEFzc2V0c1NpemUGCQECIT0CBRBvdXRwdXRBc3NldHNTaXplBRNhc3NldE9wZXJhdGlvbnNTaXplBgkBAiE9AgUTYXNzZXRPcGVyYXRpb25zU2l6ZQUNZGVsZWdhdGVzU2l6ZQkAAgECF01pc21hdGNoIGFyZ3VtZW50IHNpemVzCgEMc2V0dGluZ3NGb2xkAgVhY2N1bQVpbmRleAMJAGcCBQVpbmRleAUOSW5wdXRzUXVhbnRpdHkFBWFjY3VtBAppbnB1dENoYWluCQCRAwIFC2lucHV0Q2hhaW5zBQVpbmRleAMJAAACCQEKZ2V0Q2hhaW5JZAEFCmlucHV0Q2hhaW4FBHVuaXQJAAIBCQCsAgICD0ludmFsaWQgY2hhaW46IAUKaW5wdXRDaGFpbgQKaW5wdXRBc3NldAkAkQMCBQtpbnB1dEFzc2V0cwUFaW5kZXgDCQECIT0CCQESZ2V0SW5wdXRBc3NldEluZGV4AgUKaW5wdXRDaGFpbgUKaW5wdXRBc3NldAUFaW5kZXgJAAIBCQCsAgIJAKwCAgkArAICAhRJbnZhbGlkIGlucHV0QXNzZXQ6IAUKaW5wdXRDaGFpbgIBLAUKaW5wdXRBc3NldAQLb3V0cHV0Q2hhaW4JAJEDAgUMb3V0cHV0Q2hhaW5zBQVpbmRleAMJAAACCQEKZ2V0Q2hhaW5JZAEFC291dHB1dENoYWluBQR1bml0CQACAQkArAICAg9JbnZhbGlkIGNoYWluOiAFC291dHB1dENoYWluBAtvdXRwdXRBc3NldAkAkQMCBQxvdXRwdXRBc3NldHMFBWluZGV4BAlvcGVyYXRpb24JAJEDAgUPYXNzZXRPcGVyYXRpb25zBQVpbmRleAMJAAACCQERZ2V0QXNzZXRPcGVyYXRpb24DBQtvdXRwdXRDaGFpbgULb3V0cHV0QXNzZXQFCW9wZXJhdGlvbgUEdW5pdAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhNJbnZhbGlkIGFyZ3VtZW50czogBQtvdXRwdXRDaGFpbgIBLAULb3V0cHV0QXNzZXQCASwFCW9wZXJhdGlvbgQIZGVsZWdhdGUJAJEDAgUJZGVsZWdhdGVzBQVpbmRleAMJAQIhPQIJARZnZXRCbGFja2xpc3RlZERlbGVnYXRlAQUIZGVsZWdhdGUFBHVuaXQJAAIBCQCsAgICFVByb2hpYml0ZWQgZGVsZWdhdGU6IAUIZGVsZWdhdGUEE2lzVmFsaWRXYXZlc0FkZHJlc3MJAQIhPQIJAKYIAQUIZGVsZWdhdGUFBHVuaXQEEWlzVmFsaWRFdGhBZGRyZXNzAwkAAAIJAK8CAgUIZGVsZWdhdGUAAgICMHgJAAACCQDIAQEJAN0EAQkAsAICBQhkZWxlZ2F0ZQACABQHAwkBASEBAwMJAAACBQtvdXRwdXRDaGFpbgUHV2F2ZXNJZAUTaXNWYWxpZFdhdmVzQWRkcmVzcwcGAwkBAiE9AgULb3V0cHV0Q2hhaW4FB1dhdmVzSWQFEWlzVmFsaWRFdGhBZGRyZXNzBwkAAgEJAKwCAgISSW52YWxpZCBkZWxlZ2F0ZTogBQhkZWxlZ2F0ZQQLc2V0dGluZ3NLZXkJALkJAgkAzAgCAghzZXR0aW5ncwkAzAgCBRBjYWxsZXJBZGRyZXNzU3RyCQDMCAIFCmlucHV0Q2hhaW4JAMwIAgUKaW5wdXRBc3NldAUDbmlsAgFfBA1zZXR0aW5nc1ZhbHVlCQC5CQIJAMwIAgULb3V0cHV0Q2hhaW4JAMwIAgULb3V0cHV0QXNzZXQJAMwIAgUJb3BlcmF0aW9uCQDMCAIFCGRlbGVnYXRlBQNuaWwCAV8JAM0IAgUFYWNjdW0JAQtTdHJpbmdFbnRyeQIFC3NldHRpbmdzS2V5BQ1zZXR0aW5nc1ZhbHVlCgACJGwFBUFycjEwCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQxzZXR0aW5nc0ZvbGQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoBAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V56rX3PA==", "height": 3117385, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "WAVES" | |
5 | + | ||
6 | + | let b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | |
7 | + | ||
8 | + | let c = "configAddress" | |
9 | + | ||
10 | + | let d = "inputsQuantity" | |
11 | + | ||
12 | + | let e = addressFromStringValue(getStringValue(this, c)) | |
13 | + | ||
14 | + | let f = getIntegerValue(e, d) | |
15 | + | ||
16 | + | func g (h,i,j) = makeString(["assetOperation", h, i, j], "_") | |
17 | + | ||
18 | + | ||
19 | + | func k (h) = ("chainId_" + h) | |
20 | + | ||
21 | + | ||
22 | + | func l (m) = ("blacklistedDelegate_" + m) | |
23 | + | ||
24 | + | ||
25 | + | func n (h,i) = makeString(["inputAssetIndex", h, i], "_") | |
26 | + | ||
27 | + | ||
28 | + | func o (h) = getInteger(e, k(h)) | |
29 | + | ||
30 | + | ||
31 | + | func p (m) = getBoolean(e, l(m)) | |
32 | + | ||
33 | + | ||
34 | + | func q (h,i) = getIntegerValue(e, n(h, i)) | |
35 | + | ||
36 | + | ||
37 | + | func r (h,i,j) = getInteger(e, g(h, i, j)) | |
38 | + | ||
39 | + | ||
40 | + | @Callable(s) | |
41 | + | func setup (t) = if ((s.caller != this)) | |
42 | + | then throw("Access denied") | |
43 | + | else if ((size(s.payments) != 0)) | |
44 | + | then throw("Payments are prohibited") | |
45 | + | else if ((addressFromString(t) == unit)) | |
46 | + | then throw(("Invalid configAddress: " + t)) | |
47 | + | else [StringEntry(c, t)] | |
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | @Callable(s) | |
52 | + | func applySettings (u,v,w,x,y,z) = if ((size(s.payments) != 0)) | |
53 | + | then throw("Payments are prohibited") | |
54 | + | else if ((s.caller == this)) | |
55 | + | then throw("Self call is prohibited") | |
56 | + | else { | |
57 | + | let A = toString(s.caller) | |
58 | + | let B = size(u) | |
59 | + | let C = size(v) | |
60 | + | let D = size(w) | |
61 | + | let E = size(x) | |
62 | + | let F = size(y) | |
63 | + | let G = size(z) | |
64 | + | if (if (if (if (if (if ((f != B)) | |
65 | + | then true | |
66 | + | else (B != C)) | |
67 | + | then true | |
68 | + | else (C != D)) | |
69 | + | then true | |
70 | + | else (D != E)) | |
71 | + | then true | |
72 | + | else (E != F)) | |
73 | + | then true | |
74 | + | else (F != G)) | |
75 | + | then throw("Mismatch argument sizes") | |
76 | + | else { | |
77 | + | func H (I,J) = if ((J >= f)) | |
78 | + | then I | |
79 | + | else { | |
80 | + | let K = u[J] | |
81 | + | if ((o(K) == unit)) | |
82 | + | then throw(("Invalid chain: " + K)) | |
83 | + | else { | |
84 | + | let L = v[J] | |
85 | + | if ((q(K, L) != J)) | |
86 | + | then throw(((("Invalid inputAsset: " + K) + ",") + L)) | |
87 | + | else { | |
88 | + | let M = w[J] | |
89 | + | if ((o(M) == unit)) | |
90 | + | then throw(("Invalid chain: " + M)) | |
91 | + | else { | |
92 | + | let N = x[J] | |
93 | + | let j = y[J] | |
94 | + | if ((r(M, N, j) == unit)) | |
95 | + | then throw(((((("Invalid arguments: " + M) + ",") + N) + ",") + j)) | |
96 | + | else { | |
97 | + | let m = z[J] | |
98 | + | if ((p(m) != unit)) | |
99 | + | then throw(("Prohibited delegate: " + m)) | |
100 | + | else { | |
101 | + | let O = (addressFromString(m) != unit) | |
102 | + | let P = if ((take(m, 2) == "0x")) | |
103 | + | then (size(fromBase16String(drop(m, 2))) == 20) | |
104 | + | else false | |
105 | + | if (!(if (if ((M == a)) | |
106 | + | then O | |
107 | + | else false) | |
108 | + | then true | |
109 | + | else if ((M != a)) | |
110 | + | then P | |
111 | + | else false)) | |
112 | + | then throw(("Invalid delegate: " + m)) | |
113 | + | else { | |
114 | + | let Q = makeString(["settings", A, K, L], "_") | |
115 | + | let R = makeString([M, N, j, m], "_") | |
116 | + | (I :+ StringEntry(Q, R)) | |
117 | + | } | |
118 | + | } | |
119 | + | } | |
120 | + | } | |
121 | + | } | |
122 | + | } | |
123 | + | } | |
124 | + | ||
125 | + | let S = b | |
126 | + | let T = size(S) | |
127 | + | let U = nil | |
128 | + | func V (W,X) = if ((X >= T)) | |
129 | + | then W | |
130 | + | else H(W, S[X]) | |
131 | + | ||
132 | + | func Y (W,X) = if ((X >= T)) | |
133 | + | then W | |
134 | + | else throw("List size exceeds 10") | |
135 | + | ||
136 | + | Y(V(V(V(V(V(V(V(V(V(V(U, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
137 | + | } | |
138 | + | } | |
139 | + | ||
140 | + | ||
141 | + | @Verifier(Z) | |
142 | + | func aa () = sigVerify(Z.bodyBytes, Z.proofs[0], Z.senderPublicKey) | |
143 | + |
github/deemru/w8io/026f985 17.66 ms ◑