tx · Nd8Uof2JkmGtcqYcmaYeQU8xi4DbWYQSTfa1sbhLnuL

3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW:  -0.01400000 Waves

2019.12.21 10:33 [818429] smart account 3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW > SELF 0.00000000 Waves

{ "type": 13, "id": "Nd8Uof2JkmGtcqYcmaYeQU8xi4DbWYQSTfa1sbhLnuL", "fee": 1400000, "feeAssetId": null, "timestamp": 1576913604377, "version": 1, "sender": "3MyV9Fm9cwW9W68VCGfPvejLujx7xVpJiKW", "senderPublicKey": "8zVjiVAuhkkAyQsSHHvjkNNoN8WDKJAEBV5nSpiyyYWr", "proofs": [ "GZnrNzjSjWSTqAa5kAbKHHKjnXEdpsb7co2dK725wFPkatJx58gpumZuTQSfC3wXnBDjzzp3nANmM2jPsifABrc" ], "script": "base64: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", "chainId": 84, "height": 818429, "spentComplexity": 0 } View: original | compacted Prev: Ffc5ux1kh3Ms4cZUEirNEeUyCybKJaJhzcZADaoaghLA Next: FZP72VRUQTDTFsMEcka1Gqjh57mTSnjxkADJpjSFGyvC Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
55
6-@Callable(b)
6+let b = base58'WAVES'
7+
8+let c = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
9+
10+@Callable(d)
711 func par7deposit () = {
8- let c = extract(b.payment)
9- if ((c.assetId != a))
12+ let e = extract(d.payment)
13+ if ((e.assetId != a))
1014 then throw("PAR7 only at the moment")
1115 else {
12- let d = toBase58String(b.caller.bytes)
13- let e = {
14- let f = getInteger(this, d)
15- if ($isInstanceOf(f, "Int"))
16+ let f = toBase58String(d.caller.bytes)
17+ let g = {
18+ let h = getInteger(this, f)
19+ if ($isInstanceOf(h, "Int"))
1620 then {
17- let g = f
18- g
21+ let i = h
22+ i
1923 }
2024 else 0
2125 }
22- let h = (e + c.amount)
23- WriteSet([DataEntry(d, h)])
26+ let j = (g + e.amount)
27+ WriteSet([DataEntry(f, j)])
2428 }
2529 }
2630
2731
2832
29-@Callable(b)
30-func par7withdraw (i) = {
31- let d = toBase58String(b.caller.bytes)
32- let e = {
33- let f = getInteger(this, d)
34- if ($isInstanceOf(f, "Int"))
33+@Callable(d)
34+func par7withdraw (k) = {
35+ let f = toBase58String(d.caller.bytes)
36+ let g = {
37+ let h = getInteger(this, f)
38+ if ($isInstanceOf(h, "Int"))
3539 then {
36- let g = f
37- g
40+ let i = h
41+ i
3842 }
3943 else 0
4044 }
41- let h = (e - i)
42- if ((0 > i))
45+ let j = (g - k)
46+ if ((0 > k))
4347 then throw("Can't withdraw negative amount")
44- else if ((0 > h))
48+ else if ((0 > j))
4549 then throw("Not enough balance")
46- else ScriptResult(WriteSet([DataEntry(d, h)]), TransferSet([ScriptTransfer(b.caller, i, a)]))
50+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, a)]))
4751 }
4852
4953
50-@Verifier(j)
51-func k () = {
52- let f = j
53- if ($isInstanceOf(f, "InvokeScriptTransaction"))
54+
55+@Callable(d)
56+func wavesdeposit () = {
57+ let e = extract(d.payment)
58+ if ((e.assetId != b))
59+ then throw("Waves only at the moment")
60+ else {
61+ let f = toBase58String(d.caller.bytes)
62+ let g = {
63+ let h = getInteger(this, f)
64+ if ($isInstanceOf(h, "Int"))
65+ then {
66+ let i = h
67+ i
68+ }
69+ else 0
70+ }
71+ let j = (g + e.amount)
72+ WriteSet([DataEntry(f, j)])
73+ }
74+ }
75+
76+
77+
78+@Callable(d)
79+func waveswithdraw (k) = {
80+ let f = toBase58String(d.caller.bytes)
81+ let g = {
82+ let h = getInteger(this, f)
83+ if ($isInstanceOf(h, "Int"))
84+ then {
85+ let i = h
86+ i
87+ }
88+ else 0
89+ }
90+ let j = (g - k)
91+ if ((0 > k))
92+ then throw("Can't withdraw negative amount")
93+ else if ((0 > j))
94+ then throw("Not enough balance")
95+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, b)]))
96+ }
97+
98+
99+
100+@Callable(d)
101+func btcdeposit () = {
102+ let e = extract(d.payment)
103+ if ((e.assetId != c))
104+ then throw("btc only at the moment")
105+ else {
106+ let f = toBase58String(d.caller.bytes)
107+ let g = {
108+ let h = getInteger(this, f)
109+ if ($isInstanceOf(h, "Int"))
110+ then {
111+ let i = h
112+ i
113+ }
114+ else 0
115+ }
116+ let j = (g + e.amount)
117+ WriteSet([DataEntry(f, j)])
118+ }
119+ }
120+
121+
122+
123+@Callable(d)
124+func btcwithdraw (k) = {
125+ let f = toBase58String(d.caller.bytes)
126+ let g = {
127+ let h = getInteger(this, f)
128+ if ($isInstanceOf(h, "Int"))
129+ then {
130+ let i = h
131+ i
132+ }
133+ else 0
134+ }
135+ let j = (g - k)
136+ if ((0 > k))
137+ then throw("Can't withdraw negative amount")
138+ else if ((0 > j))
139+ then throw("Not enough balance")
140+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, c)]))
141+ }
142+
143+
144+@Verifier(l)
145+func m () = {
146+ let h = l
147+ if ($isInstanceOf(h, "InvokeScriptTransaction"))
54148 then {
55- let l = f
149+ let n = h
56150 true
57151 }
58- else sigVerify(j.bodyBytes, j.proofs[0], j.senderPublicKey)
152+ else sigVerify(l.bodyBytes, l.proofs[0], l.senderPublicKey)
59153 }
60154
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'EtV3CXQ4wqm28WPB1KaBv5B9ke2bpXRZMutYNEJUQcXm'
55
6-@Callable(b)
6+let b = base58'WAVES'
7+
8+let c = base58'DWgwcZTMhSvnyYCoWLRUXXSH1RSkzThXLJhww9gwkqdn'
9+
10+@Callable(d)
711 func par7deposit () = {
8- let c = extract(b.payment)
9- if ((c.assetId != a))
12+ let e = extract(d.payment)
13+ if ((e.assetId != a))
1014 then throw("PAR7 only at the moment")
1115 else {
12- let d = toBase58String(b.caller.bytes)
13- let e = {
14- let f = getInteger(this, d)
15- if ($isInstanceOf(f, "Int"))
16+ let f = toBase58String(d.caller.bytes)
17+ let g = {
18+ let h = getInteger(this, f)
19+ if ($isInstanceOf(h, "Int"))
1620 then {
17- let g = f
18- g
21+ let i = h
22+ i
1923 }
2024 else 0
2125 }
22- let h = (e + c.amount)
23- WriteSet([DataEntry(d, h)])
26+ let j = (g + e.amount)
27+ WriteSet([DataEntry(f, j)])
2428 }
2529 }
2630
2731
2832
29-@Callable(b)
30-func par7withdraw (i) = {
31- let d = toBase58String(b.caller.bytes)
32- let e = {
33- let f = getInteger(this, d)
34- if ($isInstanceOf(f, "Int"))
33+@Callable(d)
34+func par7withdraw (k) = {
35+ let f = toBase58String(d.caller.bytes)
36+ let g = {
37+ let h = getInteger(this, f)
38+ if ($isInstanceOf(h, "Int"))
3539 then {
36- let g = f
37- g
40+ let i = h
41+ i
3842 }
3943 else 0
4044 }
41- let h = (e - i)
42- if ((0 > i))
45+ let j = (g - k)
46+ if ((0 > k))
4347 then throw("Can't withdraw negative amount")
44- else if ((0 > h))
48+ else if ((0 > j))
4549 then throw("Not enough balance")
46- else ScriptResult(WriteSet([DataEntry(d, h)]), TransferSet([ScriptTransfer(b.caller, i, a)]))
50+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, a)]))
4751 }
4852
4953
50-@Verifier(j)
51-func k () = {
52- let f = j
53- if ($isInstanceOf(f, "InvokeScriptTransaction"))
54+
55+@Callable(d)
56+func wavesdeposit () = {
57+ let e = extract(d.payment)
58+ if ((e.assetId != b))
59+ then throw("Waves only at the moment")
60+ else {
61+ let f = toBase58String(d.caller.bytes)
62+ let g = {
63+ let h = getInteger(this, f)
64+ if ($isInstanceOf(h, "Int"))
65+ then {
66+ let i = h
67+ i
68+ }
69+ else 0
70+ }
71+ let j = (g + e.amount)
72+ WriteSet([DataEntry(f, j)])
73+ }
74+ }
75+
76+
77+
78+@Callable(d)
79+func waveswithdraw (k) = {
80+ let f = toBase58String(d.caller.bytes)
81+ let g = {
82+ let h = getInteger(this, f)
83+ if ($isInstanceOf(h, "Int"))
84+ then {
85+ let i = h
86+ i
87+ }
88+ else 0
89+ }
90+ let j = (g - k)
91+ if ((0 > k))
92+ then throw("Can't withdraw negative amount")
93+ else if ((0 > j))
94+ then throw("Not enough balance")
95+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, b)]))
96+ }
97+
98+
99+
100+@Callable(d)
101+func btcdeposit () = {
102+ let e = extract(d.payment)
103+ if ((e.assetId != c))
104+ then throw("btc only at the moment")
105+ else {
106+ let f = toBase58String(d.caller.bytes)
107+ let g = {
108+ let h = getInteger(this, f)
109+ if ($isInstanceOf(h, "Int"))
110+ then {
111+ let i = h
112+ i
113+ }
114+ else 0
115+ }
116+ let j = (g + e.amount)
117+ WriteSet([DataEntry(f, j)])
118+ }
119+ }
120+
121+
122+
123+@Callable(d)
124+func btcwithdraw (k) = {
125+ let f = toBase58String(d.caller.bytes)
126+ let g = {
127+ let h = getInteger(this, f)
128+ if ($isInstanceOf(h, "Int"))
129+ then {
130+ let i = h
131+ i
132+ }
133+ else 0
134+ }
135+ let j = (g - k)
136+ if ((0 > k))
137+ then throw("Can't withdraw negative amount")
138+ else if ((0 > j))
139+ then throw("Not enough balance")
140+ else ScriptResult(WriteSet([DataEntry(f, j)]), TransferSet([ScriptTransfer(d.caller, k, c)]))
141+ }
142+
143+
144+@Verifier(l)
145+func m () = {
146+ let h = l
147+ if ($isInstanceOf(h, "InvokeScriptTransaction"))
54148 then {
55- let l = f
149+ let n = h
56150 true
57151 }
58- else sigVerify(j.bodyBytes, j.proofs[0], j.senderPublicKey)
152+ else sigVerify(l.bodyBytes, l.proofs[0], l.senderPublicKey)
59153 }
60154

github/deemru/w8io/873ac7e 
32.89 ms