tx · FFussmiXCP32vc5JEDnmwpGyEDiAk693JGb1wkkykxkM

3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd:  -0.01000000 Waves

2023.12.05 01:50 [2872536] smart account 3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd > SELF 0.00000000 Waves

{ "type": 13, "id": "FFussmiXCP32vc5JEDnmwpGyEDiAk693JGb1wkkykxkM", "fee": 1000000, "feeAssetId": null, "timestamp": 1701730284406, "version": 2, "chainId": 84, "sender": "3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd", "senderPublicKey": "EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e", "proofs": [ "3estwfuEQvB594ASzSpGyXxLQKRPtKT1XzrzvJqW3BuhBSK7uLWKqfurTUi6Tft7jaBMGAs4NZ6shbSWD6wZmSf4" ], "script": "base64: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", "height": 2872536, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DqHHY8vEMm5fcSW3AjGtfdWv6BG6ewmxNwp7F6Gaq7Kx Next: 2QXgFquoUeys2yAVxGyHtkNcJnV64aTUKopy7cp3JwiS Diff:
OldNewDifferences
7070
7171
7272 @Callable(B)
73-func purchase () = {
73+func purchase (n) = {
74+ let C = extract(B.payment)
75+ if (isDefined(C.assetId))
76+ then throw("WAVES tokens only at the moment")
77+ else {
78+ let D = toBase58String(B.caller.bytes)
79+ let E = o(n)
80+ let F = x(n)
81+ if ((E > C.amount))
82+ then throw("purchase amount cannot be less than item price")
83+ else if ((C.amount > E))
84+ then throw("purchase amount cannot be higher than item price")
85+ else if ((F == d))
86+ then throw("supplier does not exist")
87+ else WriteSet([DataEntry(p(D, n), (r(D, n) + 1)), DataEntry(y(F), (A(F) + C.amount))])
88+ }
89+ }
90+
91+
92+
93+@Callable(B)
94+func x_purchase () = {
7495 let C = extract(B.payment)
7596 if (isDefined(C.assetId))
7697 then throw("can use WAVES only at the moment")
7798 else {
78- let D = toBase58String(B.caller.bytes)
99+ let G = toBase58String(B.caller.bytes)
79100 let E = {
80101 let i = getInteger(this, "item_A_coupon_price")
81102 if ($isInstanceOf(i, "Int"))
89110 then throw("purchase amount cannot be less than item price")
90111 else if ((C.amount > E))
91112 then throw("purchase amount cannot be higher than item price")
92- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + D), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + D), E)])
113+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + G), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + G), E)])
93114 }
94115 }
95116
101122 if (isDefined(C.assetId))
102123 then throw("can hodl waves only at the moment")
103124 else {
104- let F = toBase58String(B.caller.bytes)
105- let G = {
106- let i = getInteger(this, F)
125+ let H = toBase58String(B.caller.bytes)
126+ let I = {
127+ let i = getInteger(this, H)
107128 if ($isInstanceOf(i, "Int"))
108129 then {
109130 let j = i
111132 }
112133 else 0
113134 }
114- let H = {
115- let i = getString(this, ("wl_sts_" + F))
135+ let J = {
136+ let i = getString(this, ("wl_sts_" + H))
116137 if ($isInstanceOf(i, "String"))
117138 then {
118139 let j = i
120141 }
121142 else throw("User has not deen waitlisted")
122143 }
123- let I = (G + C.amount)
124- WriteSet([DataEntry((e + F), I)])
144+ let K = (I + C.amount)
145+ WriteSet([DataEntry((e + H), K)])
125146 }
126147 }
127148
128149
129150
130151 @Callable(B)
131-func withdraw (J) = {
132- let F = toBase58String(B.caller.bytes)
133- let G = {
134- let i = getInteger(this, (e + F))
152+func withdraw (L) = {
153+ let H = toBase58String(B.caller.bytes)
154+ let I = {
155+ let i = getInteger(this, (e + H))
135156 if ($isInstanceOf(i, "Int"))
136157 then {
137158 let j = i
139160 }
140161 else 0
141162 }
142- let I = (G - J)
143- if ((0 > J))
163+ let K = (I - L)
164+ if ((0 > L))
144165 then throw("Can't withdraw negative amount")
145- else if ((0 > I))
166+ else if ((0 > K))
146167 then throw("Not enough balance")
147- else ScriptResult(WriteSet([DataEntry((e + F), I)]), TransferSet([ScriptTransfer(B.caller, J, unit)]))
168+ else ScriptResult(WriteSet([DataEntry((e + H), K)]), TransferSet([ScriptTransfer(B.caller, L, unit)]))
148169 }
149170
150171
151172
152173 @Callable(B)
153-func addItem (u,E,K) = {
154- let L = toBase58String(B.caller.bytes)
155- let n = s(L, u)
174+func addItem (u,E,M) = {
175+ let N = toBase58String(B.caller.bytes)
176+ let n = s(N, u)
156177 if ((0 >= E))
157178 then throw("purchase amount cannot be less than item price")
158179 else if ((x(n) != d))
159180 then throw("an item is already exist")
160- else WriteSet([DataEntry(w(n), L), DataEntry(m(n), E), DataEntry(v(n), K)])
181+ else WriteSet([DataEntry(w(n), N), DataEntry(m(n), E), DataEntry(v(n), M)])
161182 }
162183
163184
164-@Verifier(M)
165-func N () = {
166- let O = sigVerify(M.bodyBytes, M.proofs[0], a)
167- let P = sigVerify(M.bodyBytes, M.proofs[1], a)
168- let Q = sigVerify(M.bodyBytes, M.proofs[2], a)
169- let R = sigVerify(M.bodyBytes, M.proofs[0], b)
170- let S = sigVerify(M.bodyBytes, M.proofs[1], b)
171- let T = sigVerify(M.bodyBytes, M.proofs[2], b)
172- let U = sigVerify(M.bodyBytes, M.proofs[0], c)
173- let V = sigVerify(M.bodyBytes, M.proofs[1], c)
174- let W = sigVerify(M.bodyBytes, M.proofs[2], c)
175- let X = if (if (if (if (if (if (O)
176- then S
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
177198 else false)
178199 then true
179- else if (O)
200+ else if (Q)
201+ then V
202+ else false)
203+ then true
204+ else if (R)
180205 then T
181206 else false)
182207 then true
183- else if (P)
184- then R
208+ else if (R)
209+ then V
185210 else false)
186211 then true
187- else if (P)
212+ else if (S)
188213 then T
189214 else false)
190215 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
191223 else if (Q)
192- then R
224+ then Y
193225 else false)
194226 then true
195- else if (Q)
196- then S
197- else false
198- let Y = if (if (if (if (if (if (O)
199- then V
200- else false)
201- then true
202- else if (O)
227+ else if (R)
203228 then W
204229 else false)
205230 then true
206- else if (P)
207- then U
231+ else if (R)
232+ then Y
208233 else false)
209234 then true
210- else if (P)
235+ else if (S)
211236 then W
212237 else false)
213238 then true
214- else if (Q)
215- then U
239+ else if (S)
240+ then X
241+ else false
242+ let ab = if (if (if (if (if (if (W)
243+ then U
244+ else false)
245+ then true
246+ else if (W)
247+ then V
216248 else false)
217249 then true
218- else if (Q)
219- then V
220- else false
221- let Z = if (if (if (if (if (if (U)
222- then S
223- else false)
224- then true
225- else if (U)
250+ else if (X)
226251 then T
227252 else false)
228253 then true
229- else if (V)
230- then R
254+ else if (X)
255+ then V
231256 else false)
232257 then true
233- else if (V)
258+ else if (Y)
234259 then T
235260 else false)
236261 then true
237- else if (W)
238- then R
239- else false)
240- then true
241- else if (W)
242- then S
262+ else if (Y)
263+ then U
243264 else false
244- let i = M
265+ let i = O
245266 if ($isInstanceOf(i, "SetScriptTransaction"))
246267 then {
247- let aa = i
248- sigVerify(M.bodyBytes, M.proofs[0], M.senderPublicKey)
268+ let ac = i
269+ sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
249270 }
250271 else if ($isInstanceOf(i, "DataTransaction"))
251272 then {
252- let aa = i
273+ let ac = i
253274 true
254275 }
255276 else if ($isInstanceOf(i, "TransferTransaction"))
256277 then {
257- let aa = i
278+ let ac = i
258279 true
259280 }
260281 else if ($isInstanceOf(i, "InvokeScriptTransaction"))
261282 then {
262- let aa = i
283+ let ac = i
263284 true
264285 }
265286 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)
73-func purchase () = {
73+func purchase (n) = {
74+ let C = extract(B.payment)
75+ if (isDefined(C.assetId))
76+ then throw("WAVES tokens only at the moment")
77+ else {
78+ let D = toBase58String(B.caller.bytes)
79+ let E = o(n)
80+ let F = x(n)
81+ if ((E > C.amount))
82+ then throw("purchase amount cannot be less than item price")
83+ else if ((C.amount > E))
84+ then throw("purchase amount cannot be higher than item price")
85+ else if ((F == d))
86+ then throw("supplier does not exist")
87+ else WriteSet([DataEntry(p(D, n), (r(D, n) + 1)), DataEntry(y(F), (A(F) + C.amount))])
88+ }
89+ }
90+
91+
92+
93+@Callable(B)
94+func x_purchase () = {
7495 let C = extract(B.payment)
7596 if (isDefined(C.assetId))
7697 then throw("can use WAVES only at the moment")
7798 else {
78- let D = toBase58String(B.caller.bytes)
99+ let G = toBase58String(B.caller.bytes)
79100 let E = {
80101 let i = getInteger(this, "item_A_coupon_price")
81102 if ($isInstanceOf(i, "Int"))
82103 then {
83104 let j = i
84105 j
85106 }
86107 else 0
87108 }
88109 if ((E > C.amount))
89110 then throw("purchase amount cannot be less than item price")
90111 else if ((C.amount > E))
91112 then throw("purchase amount cannot be higher than item price")
92- else WriteSet([DataEntry(("status:purchase_item_A_customer_" + D), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + D), E)])
113+ else WriteSet([DataEntry(("status:purchase_item_A_customer_" + G), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + G), E)])
93114 }
94115 }
95116
96117
97118
98119 @Callable(B)
99120 func deposit () = {
100121 let C = extract(B.payment)
101122 if (isDefined(C.assetId))
102123 then throw("can hodl waves only at the moment")
103124 else {
104- let F = toBase58String(B.caller.bytes)
105- let G = {
106- let i = getInteger(this, F)
125+ let H = toBase58String(B.caller.bytes)
126+ let I = {
127+ let i = getInteger(this, H)
107128 if ($isInstanceOf(i, "Int"))
108129 then {
109130 let j = i
110131 j
111132 }
112133 else 0
113134 }
114- let H = {
115- let i = getString(this, ("wl_sts_" + F))
135+ let J = {
136+ let i = getString(this, ("wl_sts_" + H))
116137 if ($isInstanceOf(i, "String"))
117138 then {
118139 let j = i
119140 j
120141 }
121142 else throw("User has not deen waitlisted")
122143 }
123- let I = (G + C.amount)
124- WriteSet([DataEntry((e + F), I)])
144+ let K = (I + C.amount)
145+ WriteSet([DataEntry((e + H), K)])
125146 }
126147 }
127148
128149
129150
130151 @Callable(B)
131-func withdraw (J) = {
132- let F = toBase58String(B.caller.bytes)
133- let G = {
134- let i = getInteger(this, (e + F))
152+func withdraw (L) = {
153+ let H = toBase58String(B.caller.bytes)
154+ let I = {
155+ let i = getInteger(this, (e + H))
135156 if ($isInstanceOf(i, "Int"))
136157 then {
137158 let j = i
138159 j
139160 }
140161 else 0
141162 }
142- let I = (G - J)
143- if ((0 > J))
163+ let K = (I - L)
164+ if ((0 > L))
144165 then throw("Can't withdraw negative amount")
145- else if ((0 > I))
166+ else if ((0 > K))
146167 then throw("Not enough balance")
147- else ScriptResult(WriteSet([DataEntry((e + F), I)]), TransferSet([ScriptTransfer(B.caller, J, unit)]))
168+ else ScriptResult(WriteSet([DataEntry((e + H), K)]), TransferSet([ScriptTransfer(B.caller, L, unit)]))
148169 }
149170
150171
151172
152173 @Callable(B)
153-func addItem (u,E,K) = {
154- let L = toBase58String(B.caller.bytes)
155- let n = s(L, u)
174+func addItem (u,E,M) = {
175+ let N = toBase58String(B.caller.bytes)
176+ let n = s(N, u)
156177 if ((0 >= E))
157178 then throw("purchase amount cannot be less than item price")
158179 else if ((x(n) != d))
159180 then throw("an item is already exist")
160- else WriteSet([DataEntry(w(n), L), DataEntry(m(n), E), DataEntry(v(n), K)])
181+ else WriteSet([DataEntry(w(n), N), DataEntry(m(n), E), DataEntry(v(n), M)])
161182 }
162183
163184
164-@Verifier(M)
165-func N () = {
166- let O = sigVerify(M.bodyBytes, M.proofs[0], a)
167- let P = sigVerify(M.bodyBytes, M.proofs[1], a)
168- let Q = sigVerify(M.bodyBytes, M.proofs[2], a)
169- let R = sigVerify(M.bodyBytes, M.proofs[0], b)
170- let S = sigVerify(M.bodyBytes, M.proofs[1], b)
171- let T = sigVerify(M.bodyBytes, M.proofs[2], b)
172- let U = sigVerify(M.bodyBytes, M.proofs[0], c)
173- let V = sigVerify(M.bodyBytes, M.proofs[1], c)
174- let W = sigVerify(M.bodyBytes, M.proofs[2], c)
175- let X = if (if (if (if (if (if (O)
176- then S
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
177198 else false)
178199 then true
179- else if (O)
200+ else if (Q)
201+ then V
202+ else false)
203+ then true
204+ else if (R)
180205 then T
181206 else false)
182207 then true
183- else if (P)
184- then R
208+ else if (R)
209+ then V
185210 else false)
186211 then true
187- else if (P)
212+ else if (S)
188213 then T
189214 else false)
190215 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
191223 else if (Q)
192- then R
224+ then Y
193225 else false)
194226 then true
195- else if (Q)
196- then S
197- else false
198- let Y = if (if (if (if (if (if (O)
199- then V
200- else false)
201- then true
202- else if (O)
227+ else if (R)
203228 then W
204229 else false)
205230 then true
206- else if (P)
207- then U
231+ else if (R)
232+ then Y
208233 else false)
209234 then true
210- else if (P)
235+ else if (S)
211236 then W
212237 else false)
213238 then true
214- else if (Q)
215- then U
239+ else if (S)
240+ then X
241+ else false
242+ let ab = if (if (if (if (if (if (W)
243+ then U
244+ else false)
245+ then true
246+ else if (W)
247+ then V
216248 else false)
217249 then true
218- else if (Q)
219- then V
220- else false
221- let Z = if (if (if (if (if (if (U)
222- then S
223- else false)
224- then true
225- else if (U)
250+ else if (X)
226251 then T
227252 else false)
228253 then true
229- else if (V)
230- then R
254+ else if (X)
255+ then V
231256 else false)
232257 then true
233- else if (V)
258+ else if (Y)
234259 then T
235260 else false)
236261 then true
237- else if (W)
238- then R
239- else false)
240- then true
241- else if (W)
242- then S
262+ else if (Y)
263+ then U
243264 else false
244- let i = M
265+ let i = O
245266 if ($isInstanceOf(i, "SetScriptTransaction"))
246267 then {
247- let aa = i
248- sigVerify(M.bodyBytes, M.proofs[0], M.senderPublicKey)
268+ let ac = i
269+ sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
249270 }
250271 else if ($isInstanceOf(i, "DataTransaction"))
251272 then {
252- let aa = i
273+ let ac = i
253274 true
254275 }
255276 else if ($isInstanceOf(i, "TransferTransaction"))
256277 then {
257- let aa = i
278+ let ac = i
258279 true
259280 }
260281 else if ($isInstanceOf(i, "InvokeScriptTransaction"))
261282 then {
262- let aa = i
283+ let ac = i
263284 true
264285 }
265286 else false
266287 }
267288

github/deemru/w8io/3ef1775 
83.34 ms