tx · 88xwnmATxSFN3bYACZGcd6hyiE8t5wvKL24V5QNMRtsA 3N4Pj4MutKVgrmcuX7jgyVGWoBhDyKYFZBj: -0.01400000 Waves 2019.09.18 19:01 [681925] smart account 3N4Pj4MutKVgrmcuX7jgyVGWoBhDyKYFZBj > SELF 0.00000000 Waves
{ "type": 13, "id": "88xwnmATxSFN3bYACZGcd6hyiE8t5wvKL24V5QNMRtsA", "fee": 1400000, "feeAssetId": null, "timestamp": 1568822486925, "version": 1, "sender": "3N4Pj4MutKVgrmcuX7jgyVGWoBhDyKYFZBj", "senderPublicKey": "7YuxEiQSearE3DvFS84DXzV5gad9qxsq4bTy633SAYBj", "proofs": [ "GushGPtn5euHvuSAyyTos4yosb4bG3B3aoFGJwVVUhyVVKyjdNya4MJfxC5oqd2XkNojrrhvbG6zQwfp175gYch" ], "script": "base64:AAIDAAAAAAAAAAAAAAAzAQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAADGdldEJvb2xCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQcBAAAAGGdldE51bWJlckJ5S2V5QW5kQWRkcmVzcwAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAYZ2V0U3RyaW5nQnlLZXlBbmRBZGRyZXNzAAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAFmdldEJvb2xCeUtleUFuZEFkZHJlc3MAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBwAAAAAPTGlzdFNwbGl0U3ltYm9sAgAAAAFfAAAAABBCYWxhbmNlTG9ja0Jsb2NrAAAAAAAAAAAAAAAAABNMaXN0RGF0YVNwbGl0U3ltYm9sAgAAAAErAAAAAAdXYXZlbGV0AAAAAAAF9eEAAAAAABBNaW5pbWFsQm9uZE9yZGVyCQAAaAAAAAIAAAAAAAAAAAoFAAAAB1dhdmVsZXQAAAAADk1pbmltYWxTdXJwbHVzCQAAaAAAAAIAAAAAAAAAAAoFAAAAB1dhdmVsZXQAAAAAEUFwcGx5QmxvY2tUaW1lb3V0AAAAAAAAAAAKAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASQXVjdGlvbkNvbnRyYWN0S2V5AgAAABBhdWN0aW9uX2NvbnRyYWN0AAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAAEk5ldXRyaW5vQmFsYW5jZUtleQIAAAAJbmV1dHJpbm9fAAAAAA9XYXZlc0JhbGFuY2VLZXkCAAAABndhdmVzXwAAAAAPQmFsYW5jZUJsb2NrS2V5AgAAAA5iYWxhbmNlX2Jsb2NrXwAAAAAMT3JkZXJib29rS2V5AgAAAAlvcmRlcmJvb2sAAAAADU9yZGVyVG90YWxLZXkCAAAADG9yZGVyX3RvdGFsXwAAAAANT3JkZXJPd25lcktleQIAAAAMb3JkZXJfb3duZXJfAAAAAA5PcmRlckhlaWdodEtleQIAAAANb3JkZXJfaGVpZ2h0XwAAAAATT3JkZXJGaWxsZWRUb3RhbEtleQIAAAATb3JkZXJfZmlsbGVkX3RvdGFsXwAAAAAOT3JkZXJTdGF0dXNLZXkCAAAADW9yZGVyX3N0YXR1c18AAAAACU9yYWNsZUtleQIAAAAGb3JhY2xlAAAAAA9uZXV0cmlub0Fzc2V0SWQJAAJZAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAASTmV1dHJpbm9Bc3NldElkS2V5AAAAAA9hdWN0aW9uQ29udHJhY3QJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEkF1Y3Rpb25Db250cmFjdEtleQAAAAAFcHJpY2UJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAACFByaWNlS2V5AAAAAAdyZXNlcnZlCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwAAAAAJb3JkZXJib29rCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAAxPcmRlcmJvb2tLZXkAAAAAC2JvbmRBc3NldElkCQACWQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAADkJvbmRBc3NldElkS2V5AAAAAAZvcmFjbGUJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAACU9yYWNsZUtleQAAAAAKYm9uZFN1cHBseQQAAAAEaW5mbwkBAAAAB2V4dHJhY3QAAAABCQAD7AAAAAEFAAAAC2JvbmRBc3NldElkCQAAZQAAAAIIBQAAAARpbmZvAAAACHF1YW50aXR5CQAD6wAAAAIFAAAABHRoaXMFAAAAC2JvbmRBc3NldElkAAAAAA5uZXV0cmlub1N1cHBseQQAAAAEaW5mbwkBAAAAB2V4dHJhY3QAAAABCQAD7AAAAAEFAAAAD25ldXRyaW5vQXNzZXRJZAkAAGUAAAACCAUAAAAEaW5mbwAAAAhxdWFudGl0eQkAA+sAAAACBQAAAAR0aGlzBQAAAA9uZXV0cmlub0Fzc2V0SWQBAAAAD2dldFdhdmVzQmFsYW5jZQAAAAEAAAAFb3duZXIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAAEsAAAAAgUAAAAPV2F2ZXNCYWxhbmNlS2V5BQAAAAVvd25lcgEAAAASZ2V0TmV1dHJpbm9CYWxhbmNlAAAAAQAAAAVvd25lcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkAASwAAAACBQAAABJOZXV0cmlub0JhbGFuY2VLZXkFAAAABW93bmVyAQAAAA9nZXRCYWxhbmNlQmxvY2sAAAABAAAABW93bmVyCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQABLAAAAAIFAAAAD0JhbGFuY2VCbG9ja0tleQUAAAAFb3duZXIBAAAADWdldE9yZGVyVG90YWwAAAABAAAAAmlkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQABLAAAAAIFAAAADU9yZGVyVG90YWxLZXkFAAAAAmlkAQAAAA1nZXRPcmRlck93bmVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkAASwAAAACBQAAAA1PcmRlck93bmVyS2V5BQAAAAJpZAEAAAATZ2V0T3JkZXJGaWxsZWRUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAAEsAAAAAgUAAAATT3JkZXJGaWxsZWRUb3RhbEtleQUAAAACaWQBAAAAFmNvbnZlcnROZXV0cmlub1RvV2F2ZXMAAAABAAAABmFtb3VudAkAAGkAAAACCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAZAUAAAAFcHJpY2UBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAABAAAABmFtb3VudAkAAGkAAAACCQAAaAAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAAAAAAGQBAAAAFWNvbnZlcnROZXV0cmlub1RvQm9uZAAAAAEAAAAGYW1vdW50CQAAaQAAAAIFAAAABmFtb3VudAUAAAAHV2F2ZWxldAEAAAAVY29udmVydEJvbmRUb05ldXRyaW5vAAAAAQAAAAZhbW91bnQJAABoAAAAAgUAAAAGYW1vdW50BQAAAAdXYXZlbGV0AQAAABJjb252ZXJ0V2F2ZXNUb0JvbmQAAAABAAAABmFtb3VudAkBAAAAFWNvbnZlcnROZXV0cmlub1RvQm9uZAAAAAEJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAQUAAAAGYW1vdW50AAAAAAdzdXJwbHVzCQAAZQAAAAIJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAQUAAAAHcmVzZXJ2ZQUAAAAObmV1dHJpbm9TdXBwbHkAAAAACENBTkNFTEVEAgAAAAhjYW5jZWxlZAAAAAADTkVXAgAAAANuZXcAAAAABkZJTExFRAIAAAAGZmlsbGVkAAAACAAAAAFpAQAAAA9zZXRDdXJyZW50UHJpY2UAAAABAAAABXByaWNlBAAAAAdhY2NvdW50CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIFAAAA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b3RhbAUAAAALc3VycGx1c0JvbmQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAxPcmRlcmJvb2tLZXkJAAGRAAAAAgkABLUAAAACBQAAAAlvcmRlcmJvb2sJAAEsAAAAAgUAAAAHb3JkZXJJZAUAAAAPTGlzdFNwbGl0U3ltYm9sAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAE09yZGVyRmlsbGVkVG90YWxLZXkFAAAAB29yZGVySWQJAABkAAAAAgUAAAALZmlsbGVkVG90YWwFAAAADm5ld0ZpbGxlZFRvdGFsCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADk9yZGVyU3RhdHVzS2V5BQAAAAdvcmRlcklkBQAAAAZzdGF0dXMFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAACm9yZGVyT3duZXIJAQAAABVjb252ZXJ0Qm9uZFRvTmV1dHJpbm8AAAABBQAAAA5uZXdGaWxsZWRUb3RhbAUAAAAPbmV1dHJpbm9Bc3NldElkBQAAAANuaWwAAAAAPsof6g==", "chainId": 84, "height": 681925, "spentComplexity": 0 } View: original | compacted Prev: none Next: 3Uzxu3mLWqht3MtjYiZ3VKpzhE3yMd3LWjuGsT3HQA5m Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func a (b) = { | |
5 | + | let c = getInteger(this, b) | |
6 | + | if ($isInstanceOf(c, "Int")) | |
7 | + | then { | |
8 | + | let d = c | |
9 | + | d | |
10 | + | } | |
11 | + | else 0 | |
12 | + | } | |
13 | + | ||
14 | + | ||
15 | + | func e (b) = { | |
16 | + | let c = getString(this, b) | |
17 | + | if ($isInstanceOf(c, "String")) | |
18 | + | then { | |
19 | + | let d = c | |
20 | + | d | |
21 | + | } | |
22 | + | else "" | |
23 | + | } | |
24 | + | ||
25 | + | ||
26 | + | func f (b) = { | |
27 | + | let c = getBoolean(this, b) | |
28 | + | if ($isInstanceOf(c, "Boolean")) | |
29 | + | then { | |
30 | + | let d = c | |
31 | + | d | |
32 | + | } | |
33 | + | else false | |
34 | + | } | |
35 | + | ||
36 | + | ||
37 | + | func g (h,b) = { | |
38 | + | let c = getInteger(addressFromStringValue(h), b) | |
39 | + | if ($isInstanceOf(c, "Int")) | |
40 | + | then { | |
41 | + | let d = c | |
42 | + | d | |
43 | + | } | |
44 | + | else 0 | |
45 | + | } | |
46 | + | ||
47 | + | ||
48 | + | func i (h,b) = { | |
49 | + | let c = getString(addressFromStringValue(h), b) | |
50 | + | if ($isInstanceOf(c, "String")) | |
51 | + | then { | |
52 | + | let d = c | |
53 | + | d | |
54 | + | } | |
55 | + | else "" | |
56 | + | } | |
57 | + | ||
58 | + | ||
59 | + | func j (h,b) = { | |
60 | + | let c = getBoolean(addressFromStringValue(h), b) | |
61 | + | if ($isInstanceOf(c, "Boolean")) | |
62 | + | then { | |
63 | + | let d = c | |
64 | + | d | |
65 | + | } | |
66 | + | else false | |
67 | + | } | |
68 | + | ||
69 | + | ||
70 | + | let k = "_" | |
71 | + | ||
72 | + | let l = 0 | |
73 | + | ||
74 | + | let m = "+" | |
75 | + | ||
76 | + | let n = 100000000 | |
77 | + | ||
78 | + | let o = (10 * n) | |
79 | + | ||
80 | + | let p = (10 * n) | |
81 | + | ||
82 | + | let q = 10 | |
83 | + | ||
84 | + | let r = "neutrino_asset_id" | |
85 | + | ||
86 | + | let s = "bond_asset_id" | |
87 | + | ||
88 | + | let t = "auction_contract" | |
89 | + | ||
90 | + | let u = "price" | |
91 | + | ||
92 | + | let v = "neutrino_" | |
93 | + | ||
94 | + | let w = "waves_" | |
95 | + | ||
96 | + | let x = "balance_block_" | |
97 | + | ||
98 | + | let y = "orderbook" | |
99 | + | ||
100 | + | let z = "order_total_" | |
101 | + | ||
102 | + | let A = "order_owner_" | |
103 | + | ||
104 | + | let B = "order_height_" | |
105 | + | ||
106 | + | let C = "order_filled_total_" | |
107 | + | ||
108 | + | let D = "order_status_" | |
109 | + | ||
110 | + | let E = "oracle" | |
111 | + | ||
112 | + | let F = fromBase58String(e(r)) | |
113 | + | ||
114 | + | let G = e(t) | |
115 | + | ||
116 | + | let H = a(u) | |
117 | + | ||
118 | + | let I = wavesBalance(this) | |
119 | + | ||
120 | + | let J = e(y) | |
121 | + | ||
122 | + | let K = fromBase58String(e(s)) | |
123 | + | ||
124 | + | let L = e(E) | |
125 | + | ||
126 | + | let M = { | |
127 | + | let N = extract(assetInfo(K)) | |
128 | + | (N.quantity - assetBalance(this, K)) | |
129 | + | } | |
130 | + | ||
131 | + | let O = { | |
132 | + | let N = extract(assetInfo(F)) | |
133 | + | (N.quantity - assetBalance(this, F)) | |
134 | + | } | |
135 | + | ||
136 | + | func P (Q) = a((w + Q)) | |
137 | + | ||
138 | + | ||
139 | + | func R (Q) = a((v + Q)) | |
140 | + | ||
141 | + | ||
142 | + | func S (Q) = a((x + Q)) | |
143 | + | ||
144 | + | ||
145 | + | func T (U) = a((z + U)) | |
146 | + | ||
147 | + | ||
148 | + | func V (U) = e((A + U)) | |
149 | + | ||
150 | + | ||
151 | + | func W (U) = a((C + U)) | |
152 | + | ||
153 | + | ||
154 | + | func X (Y) = ((Y * 100) / H) | |
155 | + | ||
156 | + | ||
157 | + | func Z (Y) = ((Y * H) / 100) | |
158 | + | ||
159 | + | ||
160 | + | func aa (Y) = (Y / n) | |
161 | + | ||
162 | + | ||
163 | + | func ab (Y) = (Y * n) | |
164 | + | ||
165 | + | ||
166 | + | func ac (Y) = aa(Z(Y)) | |
167 | + | ||
168 | + | ||
169 | + | let ad = (Z(I) - O) | |
170 | + | ||
171 | + | let ae = "canceled" | |
172 | + | ||
173 | + | let af = "new" | |
174 | + | ||
175 | + | let ag = "filled" | |
176 | + | ||
177 | + | @Callable(ah) | |
178 | + | func setCurrentPrice (H) = { | |
179 | + | let ai = toString(ah.caller) | |
180 | + | if ((ai != L)) | |
181 | + | then throw("permission denied") | |
182 | + | else WriteSet([DataEntry(u, H), DataEntry(((u + k) + toString(height)), H)]) | |
183 | + | } | |
184 | + | ||
185 | + | ||
186 | + | ||
187 | + | @Callable(ah) | |
188 | + | func swapWavesToNeutrino () = { | |
189 | + | let aj = extract(ah.payment) | |
190 | + | if (isDefined(aj.assetId)) | |
191 | + | then throw("can use waves only") | |
192 | + | else { | |
193 | + | let ai = toBase58String(ah.caller.bytes) | |
194 | + | let Y = Z(aj.amount) | |
195 | + | WriteSet([DataEntry((v + toString(ah.caller)), (Y + R(ai))), DataEntry((x + toString(ah.caller)), height)]) | |
196 | + | } | |
197 | + | } | |
198 | + | ||
199 | + | ||
200 | + | ||
201 | + | @Callable(ah) | |
202 | + | func swapNeutrinoToWaves () = { | |
203 | + | let aj = extract(ah.payment) | |
204 | + | if ((aj.assetId != F)) | |
205 | + | then throw("can use neutrino only") | |
206 | + | else { | |
207 | + | let ai = toBase58String(ah.caller.bytes) | |
208 | + | let Y = X(aj.amount) | |
209 | + | WriteSet([DataEntry((w + toString(ah.caller)), (Y + P(ai))), DataEntry((x + toString(ah.caller)), height)]) | |
210 | + | } | |
211 | + | } | |
212 | + | ||
213 | + | ||
214 | + | ||
215 | + | @Callable(ah) | |
216 | + | func withdraw (ai) = if (((S(ai) + l) >= height)) | |
217 | + | then throw("wait a couple of blocks for withdraw") | |
218 | + | else ScriptResult(WriteSet([DataEntry((w + ai), 0), DataEntry((v + ai), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(ai), R(ai), F), ScriptTransfer(addressFromStringValue(ai), P(ai), unit)])) | |
219 | + | ||
220 | + | ||
221 | + | ||
222 | + | @Callable(ah) | |
223 | + | func generateBond () = { | |
224 | + | let ak = (O - Z(I)) | |
225 | + | let al = assetBalance(addressFromStringValue(G), K) | |
226 | + | let Y = (aa(ak) - al) | |
227 | + | if ((Y > 0)) | |
228 | + | then TransferSet([ScriptTransfer(addressFromStringValue(G), Y, K)]) | |
229 | + | else throw("bond were generated or do not need it") | |
230 | + | } | |
231 | + | ||
232 | + | ||
233 | + | ||
234 | + | @Callable(ah) | |
235 | + | func setOrder () = { | |
236 | + | let aj = extract(ah.payment) | |
237 | + | let am = toBase58String(keccak256(((toBytes(aj.amount) + ah.caller.bytes) + toBytes(height)))) | |
238 | + | if ((aj.assetId != K)) | |
239 | + | then throw("can use bond only") | |
240 | + | else if ((V(am) != "")) | |
241 | + | then throw("order exists") | |
242 | + | else WriteSet([DataEntry(y, ((J + am) + k)), DataEntry((z + am), aj.amount), DataEntry((A + am), toString(ah.caller)), DataEntry((B + am), height), DataEntry((D + am), af)]) | |
243 | + | } | |
244 | + | ||
245 | + | ||
246 | + | ||
247 | + | @Callable(ah) | |
248 | + | func cancelOrder (an) = { | |
249 | + | let Q = V(an) | |
250 | + | let Y = (T(an) - W(an)) | |
251 | + | if ((Q != toString(ah.caller))) | |
252 | + | then throw("permission denied") | |
253 | + | else { | |
254 | + | let ao = split(J, (an + k)) | |
255 | + | ScriptResult(WriteSet([DataEntry(y, (ao[0] + ao[1])), DataEntry((D + an), ae)]), TransferSet([ScriptTransfer(ah.caller, Y, K)])) | |
256 | + | } | |
257 | + | } | |
258 | + | ||
259 | + | ||
260 | + | ||
261 | + | @Callable(ah) | |
262 | + | func executeOrder () = { | |
263 | + | let an = split(J, k)[0] | |
264 | + | let ap = T(an) | |
265 | + | let aq = V(an) | |
266 | + | let ar = W(an) | |
267 | + | if ((0 >= ad)) | |
268 | + | then throw("surplus is less than zero") | |
269 | + | else { | |
270 | + | let Y = (ap - ar) | |
271 | + | let as = aa(ad) | |
272 | + | let at = if ((as >= Y)) | |
273 | + | then ag | |
274 | + | else af | |
275 | + | let au = if ((as >= Y)) | |
276 | + | then ap | |
277 | + | else as | |
278 | + | ScriptResult(WriteSet([DataEntry(y, split(J, (an + k))[1]), DataEntry((C + an), (ar + au)), DataEntry((D + an), at)]), TransferSet([ScriptTransfer(addressFromStringValue(aq), ab(au), F)])) | |
279 | + | } | |
280 | + | } | |
281 | + | ||
282 | + |
github/deemru/w8io/169f3d6 44.67 ms ◑