tx · J2DMxezfqgViwjspp1h55dBuFpyFabwac4nMEjM7wxNR 3N11gzZic4yASFhatzjC8zvLnpNhDo2B1Rv: -0.01000000 Waves 2023.10.06 13:34 [2786644] smart account 3N11gzZic4yASFhatzjC8zvLnpNhDo2B1Rv > SELF 0.00000000 Waves
{ "type": 13, "id": "J2DMxezfqgViwjspp1h55dBuFpyFabwac4nMEjM7wxNR", "fee": 1000000, "feeAssetId": null, "timestamp": 1696588469206, "version": 2, "chainId": 84, "sender": "3N11gzZic4yASFhatzjC8zvLnpNhDo2B1Rv", "senderPublicKey": "EnUXxxhBK8wUfh1FveDYv9G5HBMXop6YwZWzVrBrLo2i", "proofs": [ "G6xq6NvoCAJ3ZuatvxvJVnQZwFH7DSD56Nj1Gfxw3X3Pfe7VJdVgeUkBepwQh6vSQcdbvQYKgbY4GQESQNx2hwo" ], "script": "base64:BgIiCAISAwoBCBIICgYBAQgIGBgSBAoCCAgSBAoCCAESAwoBCAoADGFkbWluQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzAgVhZG1pbgIAAA13eFN3YXBBZGRyZXNzAiMzUDY4ek5pdWZzdTF2aVpwdTFhWTNjZGFoUlJLY3ZWNU45MwELd3JpdGVTdHJpbmcCA2tleQtzdHJpbmdWYWx1ZQkBC1N0cmluZ0VudHJ5AgUDa2V5BQtzdHJpbmdWYWx1ZQEMd3JpdGVJbnRlZ2VyAgNrZXkMaW50ZWdlclZhbHVlCQEMSW50ZWdlckVudHJ5AgUDa2V5BQxpbnRlZ2VyVmFsdWUBB2lzQWRtaW4BDWNhbGxlckFkZHJlc3MDCQAAAgUNY2FsbGVyQWRkcmVzcwkA2QQBBQxhZG1pbkFkZHJlc3MGBwENc3BsaXRDZm1tSnNvbgEFZW50cnkJALUJAgUFZW50cnkCAS8BEWRldGVybWluZVBsYXRmb3JtAwRjZm1tCXRva2VuSWRJbgp0b2tlbklkT3V0BARpdGVtCQENc3BsaXRDZm1tSnNvbgEFBGNmbW0EC2lucHV0QW1vdW50CQC2CQEJAJEDAgUEaXRlbQACBAckbWF0Y2gwBQtpbnB1dEFtb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEC2lucHV0QW1vdW50BQckbWF0Y2gwAwkAAAIJAJEDAgUEaXRlbQAAAgRTV09QCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUEaXRlbQABAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQl0b2tlbklkSW4FC2lucHV0QW1vdW50BQNuaWwDCQAAAgkAkQMCBQRpdGVtAAACDldhdmVzIEV4Y2hhbmdlCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDXd4U3dhcEFkZHJlc3MCBHN3YXAJAMwIAgABCQDMCAIFCnRva2VuSWRPdXQJAMwIAgUMYWRtaW5BZGRyZXNzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUJdG9rZW5JZEluBQtpbnB1dEFtb3VudAUDbmlsAwkAAAIJAJEDAgUEaXRlbQAAAgtQdXp6bGUgU3dh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AAgJARRkaXN0cmlidXRlRGlmZmVyZW5jZQIFBXN3YXBzBQRkaWZmAl8xBQVzd2FwcwUNYWRqdXN0ZWRTd2FwcwUBaQEFc2V0dXABBWFkbWluAwkBASEBCQEJaXNEZWZpbmVkAQkAnQgCBQR0aGlzAgVhZG1pbgkAzAgCCQELd3JpdGVTdHJpbmcCAgVhZG1pbgUFYWRtaW4FA25pbAkAAgECE0RhcHAgYWxyZWFkeSBzZXR1cCEBaQEIYmFzaWNBcmIGC3N0YXJ0QW1vdW50DnNlY29uZEFtb3VudEluCmZpcnN0VG9rZW4Lc2Vjb25kVG9rZW4JZmlyc3RTd2FwCnNlY29uZFN3YXADCQEHaXNBZG1pbgEICAUBaQZjYWxsZXIFYnl0ZXMEDGZpcnN0VG9rZW5JZAQDdElkCQDZBAEFCmZpcnN0VG9rZW4EByRtYXRjaDAFA3RJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAN0SWQFByRtYXRjaDAFA3RJZAkAAgECEEludmFsaWQgZGF0YXR5cGUEGWF2YWlsYWJsZUFtb3VudEZpcnN0VG9rZW4JAPAHAgUEdGhpcwUMZmlyc3RUb2tlbklkAwkAZwIFGWF2YWlsYWJsZUFtb3VudEZpcnN0VG9rZW4FC3N0YXJ0QW1vdW50BAZyZXN1bHQJAQxwcm9jZXNzQ2ZtbXMDBQlmaXJzdFN3YXAFCmZpcnN0VG9rZW4FC3NlY29uZFRva2VuBA1zZWNvbmRUb2tlbklkBAJpZAkA2QQBBQtzZWNvbmRUb2tlbgQHJG1hdGNoMAUCaWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCaWQFByRtYXRjaDAFAmlkCQACAQIQSW52YWxpZCBkYXRhdHlwZQQaYXZhaWxhYmxlQW1vdW50U2Vjb25kVG9rZW4JAPAHAgUEdGhpcwUNc2Vjb25kVG9rZW5JZAQLc2Vjb25kU3dhcHMDCQAAAgUaYXZhaWxhYmxlQW1vdW50U2Vjb25kVG9rZW4FDnNlY29uZEFtb3VudEluBQpzZWNvbmRTd2FwCQEXaGFuZGxlU2Vjb25kSW5wdXRBbW91bnQDBQ5zZWNvbmRBbW91bnRJbgUaYXZhaWxhYmxlQW1vdW50U2Vjb25kVG9rZW4FCnNlY29uZFN3YXAECXJlc3VsdFR3bwkBDHByb2Nlc3NDZm1tcwMFC3NlY29uZFN3YXBzBQtzZWNvbmRUb2tlbgUKZmlyc3RUb2tlbgQYY3VycmVudFN0YXJ0VG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFDGZpcnN0VG9rZW5JZAMJAGYCBRhjdXJyZW50U3RhcnRUb2tlbkJhbGFuY2UFC3N0YXJ0QW1vdW50BQNuaWwJAAIBAhlUcmFkZSB3YXMgbm90IHByb2ZpdGFibGUhCQACAQIpQXZhaWxhYmxlIGlucHV0IGFtb3VudCBpcyBub3Qgc3VmZmljaWVudCEJAAIBAipBZGRyZXNzIGRvZXMgbm90IG1hdGNoIHdpdGggYWRtaW4gYWRkcmVzcyEBaQERdXBkYXRlU3RyaW5nRW50cnkCA2tleQtzdHJpbmdWYWx1ZQMJAQdpc0FkbWluAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELd3JpdGVTdHJpbmcCBQNrZXkFC3N0cmluZ1ZhbHVlBQNuaWwJAAIBAipBZGRyZXNzIGRvZXMgbm90IG1hdGNoIHdpdGggYWRtaW4gYWRkcmVzcyEBaQESdXBkYXRlSW50ZWdlckVudHJ5AgNrZXkMaW50ZWdlclZhbHVlAwkBB2lzQWRtaW4BCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQx3cml0ZUludGVnZXICBQNrZXkFDGludGVnZXJWYWx1ZQUDbmlsCQACAQIqQWRkcmVzcyBkb2VzIG5vdCBtYXRjaCB3aXRoIGFkbWluIGFkZHJlc3MhAWkBEmRlbGV0ZVN0b3JhZ2VFbnRyeQEDa2V5AwkBB2lzQWRtaW4BCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtEZWxldGVFbnRyeQEFA2tleQUDbmlsCQACAQIqQWRkcmVzcyBkb2VzIG5vdCBtYXRjaCB3aXRoIGFkbWluIGFkZHJlc3MhAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleeZQUnE=", "height": 2786644, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 5WAd5iLZ9EVt2AjjapnsEVyA8G9vgfFQUfAXJNYCijME Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = valueOrElse(getString(this, "admin"), "") | |
5 | + | ||
6 | + | let b = "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93" | |
7 | + | ||
8 | + | func c (d,e) = StringEntry(d, e) | |
9 | + | ||
10 | + | ||
11 | + | func f (d,g) = IntegerEntry(d, g) | |
12 | + | ||
13 | + | ||
14 | + | func h (i) = if ((i == fromBase58String(a))) | |
15 | + | then true | |
16 | + | else false | |
17 | + | ||
18 | + | ||
19 | + | func j (k) = split(k, "/") | |
20 | + | ||
21 | + | ||
22 | + | func l (m,n,o) = { | |
23 | + | let p = j(m) | |
24 | + | let q = parseInt(p[2]) | |
25 | + | let r = q | |
26 | + | if ($isInstanceOf(r, "Int")) | |
27 | + | then { | |
28 | + | let q = r | |
29 | + | if ((p[0] == "SWOP")) | |
30 | + | then invoke(addressFromStringValue(p[1]), "exchange", [1], [AttachedPayment(fromBase58String(n), q)]) | |
31 | + | else if ((p[0] == "Waves Exchange")) | |
32 | + | then invoke(addressFromStringValue(b), "swap", [1, o, a], [AttachedPayment(fromBase58String(n), q)]) | |
33 | + | else if ((p[0] == "Puzzle Swap")) | |
34 | + | then invoke(addressFromStringValue(p[1]), "swap", [o, 1], [AttachedPayment(fromBase58String(n), q)]) | |
35 | + | else throw("Platform id does not match!") | |
36 | + | } | |
37 | + | else throw("value is not an int!") | |
38 | + | } | |
39 | + | ||
40 | + | ||
41 | + | func s (t,n,o) = { | |
42 | + | func u (v,w) = { | |
43 | + | let x = v | |
44 | + | let y = x._1 | |
45 | + | let z = x._2 | |
46 | + | if ((size(t) > z)) | |
47 | + | then $Tuple2(l(w, n, o), (z + 1)) | |
48 | + | else $Tuple2(y, z) | |
49 | + | } | |
50 | + | ||
51 | + | let A = t | |
52 | + | let B = size(A) | |
53 | + | let C = $Tuple2(nil, 0) | |
54 | + | func D (E,F) = if ((F >= B)) | |
55 | + | then E | |
56 | + | else u(E, A[F]) | |
57 | + | ||
58 | + | func G (E,F) = if ((F >= B)) | |
59 | + | then E | |
60 | + | else throw("List size exceeds 40") | |
61 | + | ||
62 | + | G(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(C, 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) | |
63 | + | } | |
64 | + | ||
65 | + | ||
66 | + | func H (t,I) = { | |
67 | + | let J = size(t) | |
68 | + | func K (v,w) = { | |
69 | + | let L = v | |
70 | + | let M = L._1 | |
71 | + | let N = L._2 | |
72 | + | let p = j(w) | |
73 | + | let q = parseInt(p[2]) | |
74 | + | let r = q | |
75 | + | if ($isInstanceOf(r, "Int")) | |
76 | + | then { | |
77 | + | let O = r | |
78 | + | let P = { | |
79 | + | let Q = (N / ((J - size(M)) + 1)) | |
80 | + | let R = Q | |
81 | + | if ($isInstanceOf(R, "Int")) | |
82 | + | then { | |
83 | + | let S = R | |
84 | + | if ((N > 0)) | |
85 | + | then min([O, S]) | |
86 | + | else if ((0 > N)) | |
87 | + | then max([(-(O) + 1), S]) | |
88 | + | else 0 | |
89 | + | } | |
90 | + | else throw("Wrong datatype") | |
91 | + | } | |
92 | + | let T = max([1, (O + P)]) | |
93 | + | let U = ((((p[0] + "/") + p[1]) + "/") + toString(T)) | |
94 | + | $Tuple2((M :+ U), (N - (P * ((J - size(M)) + 1)))) | |
95 | + | } | |
96 | + | else throw("Input has wrong datatype!") | |
97 | + | } | |
98 | + | ||
99 | + | let A = t | |
100 | + | let B = size(A) | |
101 | + | let C = $Tuple2(nil, I) | |
102 | + | func D (E,F) = if ((F >= B)) | |
103 | + | then E | |
104 | + | else K(E, A[F]) | |
105 | + | ||
106 | + | func G (E,F) = if ((F >= B)) | |
107 | + | then E | |
108 | + | else throw("List size exceeds 40") | |
109 | + | ||
110 | + | G(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(D(C, 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) | |
111 | + | } | |
112 | + | ||
113 | + | ||
114 | + | func V (W,X,t) = { | |
115 | + | let I = (X - W) | |
116 | + | let M = if ((I != 0)) | |
117 | + | then H(t, I)._1 | |
118 | + | else t | |
119 | + | M | |
120 | + | } | |
121 | + | ||
122 | + | ||
123 | + | @Callable(Y) | |
124 | + | func setup (Z) = if (!(isDefined(getString(this, "admin")))) | |
125 | + | then [c("admin", Z)] | |
126 | + | else throw("Dapp already setup!") | |
127 | + | ||
128 | + | ||
129 | + | ||
130 | + | @Callable(Y) | |
131 | + | func basicArb (aa,ab,ac,ad,ae,af) = if (h(Y.caller.bytes)) | |
132 | + | then { | |
133 | + | let ag = { | |
134 | + | let ah = fromBase58String(ac) | |
135 | + | let r = ah | |
136 | + | if ($isInstanceOf(r, "ByteVector")) | |
137 | + | then { | |
138 | + | let ah = r | |
139 | + | ah | |
140 | + | } | |
141 | + | else throw("Invalid datatype") | |
142 | + | } | |
143 | + | let ai = assetBalance(this, ag) | |
144 | + | if ((ai >= aa)) | |
145 | + | then { | |
146 | + | let y = s(ae, ac, ad) | |
147 | + | let aj = { | |
148 | + | let ak = fromBase58String(ad) | |
149 | + | let r = ak | |
150 | + | if ($isInstanceOf(r, "ByteVector")) | |
151 | + | then { | |
152 | + | let ak = r | |
153 | + | ak | |
154 | + | } | |
155 | + | else throw("Invalid datatype") | |
156 | + | } | |
157 | + | let al = assetBalance(this, aj) | |
158 | + | let am = if ((al == ab)) | |
159 | + | then af | |
160 | + | else V(ab, al, af) | |
161 | + | let an = s(am, ad, ac) | |
162 | + | let ao = assetBalance(this, ag) | |
163 | + | if ((ao > aa)) | |
164 | + | then nil | |
165 | + | else throw("Trade was not profitable!") | |
166 | + | } | |
167 | + | else throw("Available input amount is not sufficient!") | |
168 | + | } | |
169 | + | else throw("Address does not match with admin address!") | |
170 | + | ||
171 | + | ||
172 | + | ||
173 | + | @Callable(Y) | |
174 | + | func updateStringEntry (d,e) = if (h(Y.caller.bytes)) | |
175 | + | then [c(d, e)] | |
176 | + | else throw("Address does not match with admin address!") | |
177 | + | ||
178 | + | ||
179 | + | ||
180 | + | @Callable(Y) | |
181 | + | func updateIntegerEntry (d,g) = if (h(Y.caller.bytes)) | |
182 | + | then [f(d, g)] | |
183 | + | else throw("Address does not match with admin address!") | |
184 | + | ||
185 | + | ||
186 | + | ||
187 | + | @Callable(Y) | |
188 | + | func deleteStorageEntry (d) = if (h(Y.caller.bytes)) | |
189 | + | then [DeleteEntry(d)] | |
190 | + | else throw("Address does not match with admin address!") | |
191 | + | ||
192 | + | ||
193 | + | @Verifier(ap) | |
194 | + | func aq () = sigVerify(ap.bodyBytes, ap.proofs[0], ap.senderPublicKey) | |
195 | + |
github/deemru/w8io/169f3d6 28.18 ms ◑