tx · 2QXgFquoUeys2yAVxGyHtkNcJnV64aTUKopy7cp3JwiS

3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd:  -0.01000000 Waves

2023.12.05 02:44 [2872584] smart account 3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd > SELF 0.00000000 Waves

{ "type": 13, "id": "2QXgFquoUeys2yAVxGyHtkNcJnV64aTUKopy7cp3JwiS", "fee": 1000000, "feeAssetId": null, "timestamp": 1701733447153, "version": 2, "chainId": 84, "sender": "3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd", "senderPublicKey": "EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e", "proofs": [ "26ATMPBi4v34dSwYqHKNBTWYfjoxpEx9rL8gteoVZ3EcWcb8dtGXH6qjKCK4954Rg5L4LVNGVEF4pHdRtKirS5NZ" ], "script": "base64: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IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAABmAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAABXByaWNlCQAAAgAAAAECAAAAMHB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgaGlnaGVyIHRoYW4gaXRlbSBwcmljZQMJAAAAAAAAAgUAAAAOc3VwcGxpZXJBZGRyc3MFAAAABE5PTkUJAAACAAAAAQIAAAAXc3VwcGxpZXIgZG9lcyBub3QgZXhpc3QJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAAEaXRlbQAAAAAAAAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAADnN1cHBsaWVyQWRkcnNzCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAADnN1cHBsaWVyQWRkcnNzCAUAAAADcG10AAAABmFtb3VudAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAAQAAAAPc3VwcGxpZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2JhbGFuY2UJAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAHYmFsYW5jZQkAAAIAAAABAgAAABRpbnN1ZmZpY2llbnQgYmFsYW5jZQkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAA9zdXBwbGllckFkZHJlc3MAAAAAAAAAAAAFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0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", "height": 2872584, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FFussmiXCP32vc5JEDnmwpGyEDiAk693JGb1wkkykxkM Next: 3a4gE6GrCBAjUoGRSmfB6eMJonDPYXzzHaGny4bCrpWh Diff:
OldNewDifferences
9191
9292
9393 @Callable(B)
94+func withdraw () = {
95+ let G = toBase58String(B.caller.bytes)
96+ let H = A(G)
97+ if ((0 >= H))
98+ then throw("insufficient balance")
99+ else ScriptResult(WriteSet([DataEntry(y(G), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(G), H, unit)]))
100+ }
101+
102+
103+
104+@Callable(B)
94105 func x_purchase () = {
95106 let C = extract(B.payment)
96107 if (isDefined(C.assetId))
97108 then throw("can use WAVES only at the moment")
98109 else {
99- let G = toBase58String(B.caller.bytes)
110+ let I = toBase58String(B.caller.bytes)
100111 let E = {
101112 let i = getInteger(this, "item_A_coupon_price")
102113 if ($isInstanceOf(i, "Int"))
110121 then throw("purchase amount cannot be less than item price")
111122 else if ((C.amount > E))
112123 then throw("purchase amount cannot be higher than item price")
113- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + G), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + G), E)])
124+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + I), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + I), E)])
114125 }
115126 }
116127
122133 if (isDefined(C.assetId))
123134 then throw("can hodl waves only at the moment")
124135 else {
125- let H = toBase58String(B.caller.bytes)
126- let I = {
127- let i = getInteger(this, H)
136+ let J = toBase58String(B.caller.bytes)
137+ let K = {
138+ let i = getInteger(this, J)
128139 if ($isInstanceOf(i, "Int"))
129140 then {
130141 let j = i
132143 }
133144 else 0
134145 }
135- let J = {
136- let i = getString(this, ("wl_sts_" + H))
146+ let L = {
147+ let i = getString(this, ("wl_sts_" + J))
137148 if ($isInstanceOf(i, "String"))
138149 then {
139150 let j = i
141152 }
142153 else throw("User has not deen waitlisted")
143154 }
144- let K = (I + C.amount)
145- WriteSet([DataEntry((e + H), K)])
155+ let M = (K + C.amount)
156+ WriteSet([DataEntry((e + J), M)])
146157 }
147158 }
148159
149160
150161
151162 @Callable(B)
152-func withdraw (L) = {
153- let H = toBase58String(B.caller.bytes)
154- let I = {
155- let i = getInteger(this, (e + H))
163+func x_withdraw (N) = {
164+ let J = toBase58String(B.caller.bytes)
165+ let K = {
166+ let i = getInteger(this, (e + J))
156167 if ($isInstanceOf(i, "Int"))
157168 then {
158169 let j = i
160171 }
161172 else 0
162173 }
163- let K = (I - L)
164- if ((0 > L))
174+ let M = (K - N)
175+ if ((0 > N))
165176 then throw("Can't withdraw negative amount")
166- else if ((0 > K))
177+ else if ((0 > M))
167178 then throw("Not enough balance")
168- else ScriptResult(WriteSet([DataEntry((e + H), K)]), TransferSet([ScriptTransfer(B.caller, L, unit)]))
179+ else ScriptResult(WriteSet([DataEntry((e + J), M)]), TransferSet([ScriptTransfer(B.caller, N, unit)]))
169180 }
170181
171182
172183
173184 @Callable(B)
174-func addItem (u,E,M) = {
175- let N = toBase58String(B.caller.bytes)
176- let n = s(N, u)
185+func addItem (u,E,O) = {
186+ let G = toBase58String(B.caller.bytes)
187+ let n = s(G, u)
177188 if ((0 >= E))
178189 then throw("purchase amount cannot be less than item price")
179190 else if ((x(n) != d))
180191 then throw("an item is already exist")
181- else WriteSet([DataEntry(w(n), N), DataEntry(m(n), E), DataEntry(v(n), M)])
192+ else WriteSet([DataEntry(w(n), G), DataEntry(m(n), E), DataEntry(v(n), O)])
182193 }
183194
184195
185-@Verifier(O)
186-func P () = {
187- let Q = sigVerify(O.bodyBytes, O.proofs[0], a)
188- let R = sigVerify(O.bodyBytes, O.proofs[1], a)
189- let S = sigVerify(O.bodyBytes, O.proofs[2], a)
190- let T = sigVerify(O.bodyBytes, O.proofs[0], b)
191- let U = sigVerify(O.bodyBytes, O.proofs[1], b)
192- let V = sigVerify(O.bodyBytes, O.proofs[2], b)
193- let W = sigVerify(O.bodyBytes, O.proofs[0], c)
194- let X = sigVerify(O.bodyBytes, O.proofs[1], c)
195- let Y = sigVerify(O.bodyBytes, O.proofs[2], c)
196- let Z = if (if (if (if (if (if (Q)
197- then U
196+@Verifier(P)
197+func Q () = {
198+ let R = sigVerify(P.bodyBytes, P.proofs[0], a)
199+ let S = sigVerify(P.bodyBytes, P.proofs[1], a)
200+ let T = sigVerify(P.bodyBytes, P.proofs[2], a)
201+ let U = sigVerify(P.bodyBytes, P.proofs[0], b)
202+ let V = sigVerify(P.bodyBytes, P.proofs[1], b)
203+ let W = sigVerify(P.bodyBytes, P.proofs[2], b)
204+ let X = sigVerify(P.bodyBytes, P.proofs[0], c)
205+ let Y = sigVerify(P.bodyBytes, P.proofs[1], c)
206+ let Z = sigVerify(P.bodyBytes, P.proofs[2], c)
207+ let aa = if (if (if (if (if (if (R)
208+ then V
198209 else false)
199- then true
200- else if (Q)
201- then V
202- else false)
203- then true
204- else if (R)
205- then T
206- else false)
207- then true
208- else if (R)
209- then V
210- else false)
211- then true
212- else if (S)
213- then T
214- else false)
215- then true
216- else if (S)
217- then U
218- else false
219- let aa = if (if (if (if (if (if (Q)
220- then X
221- else false)
222- then true
223- else if (Q)
224- then Y
225- else false)
226210 then true
227211 else if (R)
228212 then W
229213 else false)
230214 then true
231- else if (R)
232- then Y
215+ else if (S)
216+ then U
233217 else false)
234218 then true
235219 else if (S)
236220 then W
237221 else false)
238222 then true
223+ else if (T)
224+ then U
225+ else false)
226+ then true
227+ else if (T)
228+ then V
229+ else false
230+ let ab = if (if (if (if (if (if (R)
231+ then Y
232+ else false)
233+ then true
234+ else if (R)
235+ then Z
236+ else false)
237+ then true
239238 else if (S)
240239 then X
240+ else false)
241+ then true
242+ else if (S)
243+ then Z
244+ else false)
245+ then true
246+ else if (T)
247+ then X
248+ else false)
249+ then true
250+ else if (T)
251+ then Y
241252 else false
242- let ab = if (if (if (if (if (if (W)
243- then U
253+ let ac = if (if (if (if (if (if (X)
254+ then V
244255 else false)
245256 then true
246- else if (W)
247- then V
248- else false)
249- then true
250257 else if (X)
251- then T
252- else false)
253- then true
254- else if (X)
255- then V
256- else false)
257- then true
258- else if (Y)
259- then T
258+ then W
260259 else false)
261260 then true
262261 else if (Y)
263262 then U
263+ else false)
264+ then true
265+ else if (Y)
266+ then W
267+ else false)
268+ then true
269+ else if (Z)
270+ then U
271+ else false)
272+ then true
273+ else if (Z)
274+ then V
264275 else false
265- let i = O
276+ let i = P
266277 if ($isInstanceOf(i, "SetScriptTransaction"))
267278 then {
268- let ac = i
269- sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
279+ let ad = i
280+ sigVerify(P.bodyBytes, P.proofs[0], P.senderPublicKey)
270281 }
271282 else if ($isInstanceOf(i, "DataTransaction"))
272283 then {
273- let ac = i
284+ let ad = i
274285 true
275286 }
276287 else if ($isInstanceOf(i, "TransferTransaction"))
277288 then {
278- let ac = i
289+ let ad = i
279290 true
280291 }
281292 else if ($isInstanceOf(i, "InvokeScriptTransaction"))
282293 then {
283- let ac = i
294+ let ad = i
284295 true
285296 }
286297 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'FgdjGJ4tLFiavKEKf4WkWwkgvU8ARWP1WYZfmUrXo4CY'
55
66 let b = base58'EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e'
77
88 let c = base58'6SdykacJeMCbeNvVJY71gWMJeXt9ZT44X4KexwZxHEYz'
99
1010 let d = "none"
1111
1212 let e = "balance_"
1313
1414 func f (g) = {
1515 let h = {
1616 let i = getInteger(this, g)
1717 if ($isInstanceOf(i, "Int"))
1818 then {
1919 let j = i
2020 j
2121 }
2222 else 0
2323 }
2424 h
2525 }
2626
2727
2828 func k (g) = {
2929 let l = {
3030 let i = getString(this, g)
3131 if ($isInstanceOf(i, "String"))
3232 then {
3333 let j = i
3434 j
3535 }
3636 else d
3737 }
3838 l
3939 }
4040
4141
4242 func m (n) = (n + "_price")
4343
4444
4545 func o (n) = f(m(n))
4646
4747
4848 func p (q,n) = (((n + "_") + q) + "_cnt")
4949
5050
5151 func r (q,n) = f(p(q, n))
5252
5353
5454 func s (t,u) = ("item_" + toBase58String(sha256(toBytes((t + u)))))
5555
5656
5757 func v (n) = (n + "_data")
5858
5959
6060 func w (n) = (n + "_owner")
6161
6262
6363 func x (n) = k(w(n))
6464
6565
6666 func y (z) = (z + "_balance")
6767
6868
6969 func A (z) = f(y(z))
7070
7171
7272 @Callable(B)
7373 func purchase (n) = {
7474 let C = extract(B.payment)
7575 if (isDefined(C.assetId))
7676 then throw("WAVES tokens only at the moment")
7777 else {
7878 let D = toBase58String(B.caller.bytes)
7979 let E = o(n)
8080 let F = x(n)
8181 if ((E > C.amount))
8282 then throw("purchase amount cannot be less than item price")
8383 else if ((C.amount > E))
8484 then throw("purchase amount cannot be higher than item price")
8585 else if ((F == d))
8686 then throw("supplier does not exist")
8787 else WriteSet([DataEntry(p(D, n), (r(D, n) + 1)), DataEntry(y(F), (A(F) + C.amount))])
8888 }
8989 }
9090
9191
9292
9393 @Callable(B)
94+func withdraw () = {
95+ let G = toBase58String(B.caller.bytes)
96+ let H = A(G)
97+ if ((0 >= H))
98+ then throw("insufficient balance")
99+ else ScriptResult(WriteSet([DataEntry(y(G), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(G), H, unit)]))
100+ }
101+
102+
103+
104+@Callable(B)
94105 func x_purchase () = {
95106 let C = extract(B.payment)
96107 if (isDefined(C.assetId))
97108 then throw("can use WAVES only at the moment")
98109 else {
99- let G = toBase58String(B.caller.bytes)
110+ let I = toBase58String(B.caller.bytes)
100111 let E = {
101112 let i = getInteger(this, "item_A_coupon_price")
102113 if ($isInstanceOf(i, "Int"))
103114 then {
104115 let j = i
105116 j
106117 }
107118 else 0
108119 }
109120 if ((E > C.amount))
110121 then throw("purchase amount cannot be less than item price")
111122 else if ((C.amount > E))
112123 then throw("purchase amount cannot be higher than item price")
113- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + G), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + G), E)])
124+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + I), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + I), E)])
114125 }
115126 }
116127
117128
118129
119130 @Callable(B)
120131 func deposit () = {
121132 let C = extract(B.payment)
122133 if (isDefined(C.assetId))
123134 then throw("can hodl waves only at the moment")
124135 else {
125- let H = toBase58String(B.caller.bytes)
126- let I = {
127- let i = getInteger(this, H)
136+ let J = toBase58String(B.caller.bytes)
137+ let K = {
138+ let i = getInteger(this, J)
128139 if ($isInstanceOf(i, "Int"))
129140 then {
130141 let j = i
131142 j
132143 }
133144 else 0
134145 }
135- let J = {
136- let i = getString(this, ("wl_sts_" + H))
146+ let L = {
147+ let i = getString(this, ("wl_sts_" + J))
137148 if ($isInstanceOf(i, "String"))
138149 then {
139150 let j = i
140151 j
141152 }
142153 else throw("User has not deen waitlisted")
143154 }
144- let K = (I + C.amount)
145- WriteSet([DataEntry((e + H), K)])
155+ let M = (K + C.amount)
156+ WriteSet([DataEntry((e + J), M)])
146157 }
147158 }
148159
149160
150161
151162 @Callable(B)
152-func withdraw (L) = {
153- let H = toBase58String(B.caller.bytes)
154- let I = {
155- let i = getInteger(this, (e + H))
163+func x_withdraw (N) = {
164+ let J = toBase58String(B.caller.bytes)
165+ let K = {
166+ let i = getInteger(this, (e + J))
156167 if ($isInstanceOf(i, "Int"))
157168 then {
158169 let j = i
159170 j
160171 }
161172 else 0
162173 }
163- let K = (I - L)
164- if ((0 > L))
174+ let M = (K - N)
175+ if ((0 > N))
165176 then throw("Can't withdraw negative amount")
166- else if ((0 > K))
177+ else if ((0 > M))
167178 then throw("Not enough balance")
168- else ScriptResult(WriteSet([DataEntry((e + H), K)]), TransferSet([ScriptTransfer(B.caller, L, unit)]))
179+ else ScriptResult(WriteSet([DataEntry((e + J), M)]), TransferSet([ScriptTransfer(B.caller, N, unit)]))
169180 }
170181
171182
172183
173184 @Callable(B)
174-func addItem (u,E,M) = {
175- let N = toBase58String(B.caller.bytes)
176- let n = s(N, u)
185+func addItem (u,E,O) = {
186+ let G = toBase58String(B.caller.bytes)
187+ let n = s(G, u)
177188 if ((0 >= E))
178189 then throw("purchase amount cannot be less than item price")
179190 else if ((x(n) != d))
180191 then throw("an item is already exist")
181- else WriteSet([DataEntry(w(n), N), DataEntry(m(n), E), DataEntry(v(n), M)])
192+ else WriteSet([DataEntry(w(n), G), DataEntry(m(n), E), DataEntry(v(n), O)])
182193 }
183194
184195
185-@Verifier(O)
186-func P () = {
187- let Q = sigVerify(O.bodyBytes, O.proofs[0], a)
188- let R = sigVerify(O.bodyBytes, O.proofs[1], a)
189- let S = sigVerify(O.bodyBytes, O.proofs[2], a)
190- let T = sigVerify(O.bodyBytes, O.proofs[0], b)
191- let U = sigVerify(O.bodyBytes, O.proofs[1], b)
192- let V = sigVerify(O.bodyBytes, O.proofs[2], b)
193- let W = sigVerify(O.bodyBytes, O.proofs[0], c)
194- let X = sigVerify(O.bodyBytes, O.proofs[1], c)
195- let Y = sigVerify(O.bodyBytes, O.proofs[2], c)
196- let Z = if (if (if (if (if (if (Q)
197- then U
196+@Verifier(P)
197+func Q () = {
198+ let R = sigVerify(P.bodyBytes, P.proofs[0], a)
199+ let S = sigVerify(P.bodyBytes, P.proofs[1], a)
200+ let T = sigVerify(P.bodyBytes, P.proofs[2], a)
201+ let U = sigVerify(P.bodyBytes, P.proofs[0], b)
202+ let V = sigVerify(P.bodyBytes, P.proofs[1], b)
203+ let W = sigVerify(P.bodyBytes, P.proofs[2], b)
204+ let X = sigVerify(P.bodyBytes, P.proofs[0], c)
205+ let Y = sigVerify(P.bodyBytes, P.proofs[1], c)
206+ let Z = sigVerify(P.bodyBytes, P.proofs[2], c)
207+ let aa = if (if (if (if (if (if (R)
208+ then V
198209 else false)
199- then true
200- else if (Q)
201- then V
202- else false)
203- then true
204- else if (R)
205- then T
206- else false)
207- then true
208- else if (R)
209- then V
210- else false)
211- then true
212- else if (S)
213- then T
214- else false)
215- then true
216- else if (S)
217- then U
218- else false
219- let aa = if (if (if (if (if (if (Q)
220- then X
221- else false)
222- then true
223- else if (Q)
224- then Y
225- else false)
226210 then true
227211 else if (R)
228212 then W
229213 else false)
230214 then true
231- else if (R)
232- then Y
215+ else if (S)
216+ then U
233217 else false)
234218 then true
235219 else if (S)
236220 then W
237221 else false)
238222 then true
223+ else if (T)
224+ then U
225+ else false)
226+ then true
227+ else if (T)
228+ then V
229+ else false
230+ let ab = if (if (if (if (if (if (R)
231+ then Y
232+ else false)
233+ then true
234+ else if (R)
235+ then Z
236+ else false)
237+ then true
239238 else if (S)
240239 then X
240+ else false)
241+ then true
242+ else if (S)
243+ then Z
244+ else false)
245+ then true
246+ else if (T)
247+ then X
248+ else false)
249+ then true
250+ else if (T)
251+ then Y
241252 else false
242- let ab = if (if (if (if (if (if (W)
243- then U
253+ let ac = if (if (if (if (if (if (X)
254+ then V
244255 else false)
245256 then true
246- else if (W)
247- then V
248- else false)
249- then true
250257 else if (X)
251- then T
252- else false)
253- then true
254- else if (X)
255- then V
256- else false)
257- then true
258- else if (Y)
259- then T
258+ then W
260259 else false)
261260 then true
262261 else if (Y)
263262 then U
263+ else false)
264+ then true
265+ else if (Y)
266+ then W
267+ else false)
268+ then true
269+ else if (Z)
270+ then U
271+ else false)
272+ then true
273+ else if (Z)
274+ then V
264275 else false
265- let i = O
276+ let i = P
266277 if ($isInstanceOf(i, "SetScriptTransaction"))
267278 then {
268- let ac = i
269- sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
279+ let ad = i
280+ sigVerify(P.bodyBytes, P.proofs[0], P.senderPublicKey)
270281 }
271282 else if ($isInstanceOf(i, "DataTransaction"))
272283 then {
273- let ac = i
284+ let ad = i
274285 true
275286 }
276287 else if ($isInstanceOf(i, "TransferTransaction"))
277288 then {
278- let ac = i
289+ let ad = i
279290 true
280291 }
281292 else if ($isInstanceOf(i, "InvokeScriptTransaction"))
282293 then {
283- let ac = i
294+ let ad = i
284295 true
285296 }
286297 else false
287298 }
288299

github/deemru/w8io/3ef1775 
74.13 ms