tx · E6RWCirKWgu6RT8uCR2TSjrbNmHQHd52gRQ3EpCftdcA

3MstgGUbpZXoVkvJwJC3cxrnTeyVdNzF7VW:  -0.01400000 Waves

2019.10.23 23:59 [733243] smart account 3MstgGUbpZXoVkvJwJC3cxrnTeyVdNzF7VW > SELF 0.00000000 Waves

{ "type": 13, "id": "E6RWCirKWgu6RT8uCR2TSjrbNmHQHd52gRQ3EpCftdcA", "fee": 1400000, "feeAssetId": null, "timestamp": 1571864292769, "version": 1, "sender": "3MstgGUbpZXoVkvJwJC3cxrnTeyVdNzF7VW", "senderPublicKey": "13YevTfaVEoXJ5hu2kSjqnp2j2E8RV3NHHFM6giCFssY", "proofs": [ "3Y5j7iUaBho9B8ebZcwcBrtwi1jPx3Uqzft7ug2K2ZDnwCganBgdTckHRhsWpfNFF54JhybcEEo4crMQfoonoqxN" ], "script": "base64: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", "chainId": 84, "height": 733243, "spentComplexity": 0 } View: original | compacted Prev: 4EEgBFTJ3cfoQ3BF7rPmZw7mWXViuJFTXhAtwtdXdPkQ Next: 6MSZ5K7oA84jrWRR1rU2wmxWrR1JtvP6KFB5PofzVfFK Diff:
OldNewDifferences
132132
133133
134134
135-@Callable(x)
136-func withdraw (H) = {
137- let z = toBase58String(x.caller.bytes)
138- let A = {
139- let e = getInteger(this, z)
140- if ($isInstanceOf(e, "Int"))
141- then {
142- let f = e
143- f
144- }
145- else 0
146- }
147- let C = (A - H)
148- if ((0 > H))
135+@Callable(H)
136+func withdraw (I) = {
137+ let z = toBase58String(H.caller.bytes)
138+ let A = b(z)
139+ let C = (A - I)
140+ if ((0 > I))
149141 then throw("can't withdraw negative amount")
150142 else if ((0 > C))
151143 then throw("not enough balance")
152- else ScriptResult(WriteSet([DataEntry(z, C)]), TransferSet([ScriptTransfer(x.caller, H, unit)]))
144+ else ScriptResult(WriteSet([DataEntry(z, C)]), TransferSet([ScriptTransfer(H.caller, I, unit)]))
153145 }
154146
155147
156-@Verifier(I)
157-func J () = {
158- let e = I
148+@Verifier(J)
149+func K () = {
150+ let e = J
159151 if ($isInstanceOf(e, "SetScriptTransaction"))
160152 then {
161153 let f = e
162- sigVerify(I.bodyBytes, I.proofs[0], a)
154+ sigVerify(J.bodyBytes, J.proofs[0], a)
163155 }
164156 else if ($isInstanceOf(e, "DataTransaction"))
165157 then {
166- let K = e
158+ let L = e
167159 true
168160 }
169161 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'13YevTfaVEoXJ5hu2kSjqnp2j2E8RV3NHHFM6giCFssY'
55
66 func b (c) = {
77 let d = {
88 let e = getInteger(this, c)
99 if ($isInstanceOf(e, "Int"))
1010 then {
1111 let f = e
1212 f
1313 }
1414 else 0
1515 }
1616 d
1717 }
1818
1919
2020 func g (c) = {
2121 let h = {
2222 let e = getString(this, c)
2323 if ($isInstanceOf(e, "String"))
2424 then {
2525 let f = e
2626 f
2727 }
2828 else "none"
2929 }
3030 h
3131 }
3232
3333
3434 func i (j) = (j + "_price")
3535
3636
3737 func k (j) = b(i(j))
3838
3939
4040 func l (m,j) = (((j + "_") + m) + "count")
4141
4242
4343 func n (m,j) = b(l(m, j))
4444
4545
4646 func o (p,q) = ("item_" + toBase58String(toBytes((p + q))))
4747
4848
4949 func r (j) = (j + "_data")
5050
5151
5252 func s (j) = (j + "_owner")
5353
5454
5555 func t (j) = g(s(j))
5656
5757
5858 func u (v) = (v + "_balance")
5959
6060
6161 func w (v) = b(u(v))
6262
6363
6464 @Callable(x)
6565 func deposit () = {
6666 let y = extract(x.payment)
6767 if (isDefined(y.assetId))
6868 then throw("you can use WAVES only at the moment")
6969 else {
7070 let z = toBase58String(x.caller.bytes)
7171 let A = {
7272 let e = getInteger(this, ("wl_sts" + z))
7373 if ($isInstanceOf(e, "Int"))
7474 then {
7575 let f = e
7676 f
7777 }
7878 else 0
7979 }
8080 let B = {
8181 let e = getString(this, ("wls_sts" + z))
8282 if ($isInstanceOf(e, "String"))
8383 then {
8484 let f = e
8585 f
8686 }
8787 else throw("user has not waitlisted")
8888 }
8989 let C = (A + y.amount)
9090 WriteSet([DataEntry(z, C)])
9191 }
9292 }
9393
9494
9595
9696 @Callable(x)
9797 func addItem (q,D,E) = {
9898 let F = toBase58String(x.caller.bytes)
9999 let j = o(F, q)
100100 if ((0 >= D))
101101 then throw("purchase amount cannot be less that item price")
102102 else if (("none" != t(j)))
103103 then throw("an item is alreadt exist")
104104 else WriteSet([DataEntry(s(j), F), DataEntry(i(j), D), DataEntry(r(j), E)])
105105 }
106106
107107
108108
109109 @Callable(x)
110110 func purchase () = {
111111 let y = extract(x.payment)
112112 if (isDefined(y.assetId))
113113 then throw("you can use WAVES only at the moment")
114114 else {
115115 let G = toBase58String(x.caller.bytes)
116116 let D = {
117117 let e = getInteger(this, "item_A_coupon_price")
118118 if ($isInstanceOf(e, "Int"))
119119 then {
120120 let f = e
121121 f
122122 }
123123 else 0
124124 }
125125 if ((D > y.amount))
126126 then throw("purchase amount cannot be less that item price")
127127 else if ((y.amount > D))
128128 then throw("purchase amount cannot be higher that item price")
129129 else WriteSet([DataEntry(("status:purchase_item_A_customer_" + G), "confirmed"), DataEntry(("price:purchase_item_A_customer" + G), D)])
130130 }
131131 }
132132
133133
134134
135-@Callable(x)
136-func withdraw (H) = {
137- let z = toBase58String(x.caller.bytes)
138- let A = {
139- let e = getInteger(this, z)
140- if ($isInstanceOf(e, "Int"))
141- then {
142- let f = e
143- f
144- }
145- else 0
146- }
147- let C = (A - H)
148- if ((0 > H))
135+@Callable(H)
136+func withdraw (I) = {
137+ let z = toBase58String(H.caller.bytes)
138+ let A = b(z)
139+ let C = (A - I)
140+ if ((0 > I))
149141 then throw("can't withdraw negative amount")
150142 else if ((0 > C))
151143 then throw("not enough balance")
152- else ScriptResult(WriteSet([DataEntry(z, C)]), TransferSet([ScriptTransfer(x.caller, H, unit)]))
144+ else ScriptResult(WriteSet([DataEntry(z, C)]), TransferSet([ScriptTransfer(H.caller, I, unit)]))
153145 }
154146
155147
156-@Verifier(I)
157-func J () = {
158- let e = I
148+@Verifier(J)
149+func K () = {
150+ let e = J
159151 if ($isInstanceOf(e, "SetScriptTransaction"))
160152 then {
161153 let f = e
162- sigVerify(I.bodyBytes, I.proofs[0], a)
154+ sigVerify(J.bodyBytes, J.proofs[0], a)
163155 }
164156 else if ($isInstanceOf(e, "DataTransaction"))
165157 then {
166- let K = e
158+ let L = e
167159 true
168160 }
169161 else false
170162 }
171163

github/deemru/w8io/873ac7e 
49.36 ms