tx · 9Lf9kbCkyTXnRoDw11CoS6vmYE5cZxusnbwuPP1sDLaw

3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe:  -0.01400000 Waves

2020.12.01 14:10 [1289514] smart account 3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe > SELF 0.00000000 Waves

{ "type": 13, "id": "9Lf9kbCkyTXnRoDw11CoS6vmYE5cZxusnbwuPP1sDLaw", "fee": 1400000, "feeAssetId": null, "timestamp": 1606821034279, "version": 2, "chainId": 84, "sender": "3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe", "senderPublicKey": "9GE2xN4fms9YNDxR1hGg52RynqDd8125TA42g4X29ZV7", "proofs": [ "Yw8LssAca2PruVXJp3JrsWV4NP8gKwJumqoCj3HbT61BnFb8FmcUNcMNa1ZeEgugiTXMkpkfuR1EEvHYuEiev81" ], "script": "base64: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", "height": 1289514, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4qV9EVJ5ZQ2mwaVux3ysFBJV5aJUu8Mo82tqbkPRN1Mt Next: 43nR2V446viMoai4CSHnDWt5PsUwEfqWfnBpfktxyUUZ Diff:
OldNewDifferences
2121 }
2222
2323
24-func i (j,k) = {
25- let l = toBytes(toBase58String(keccak256(blake2b256(toBytes(j)))))
26- sigVerify(l, fromBase58String(k), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
24+func i (j) = {
25+ let k = {
26+ let g = getString(b, j)
27+ if ($isInstanceOf(g, "Unit"))
28+ then {
29+ let h = g
30+ false
31+ }
32+ else true
33+ }
34+ k
2735 }
2836
2937
30-@Callable(m)
31-func opbrBuy (e,n,o) = {
32- let p = toBase58String(m.caller.bytes)
33- let q = m.payments
34- let r = d(e)
35- if ((size(q) == 0))
38+func l (m,n) = {
39+ let o = toBytes(toBase58String(keccak256(blake2b256(toBytes(m)))))
40+ sigVerify(o, fromBase58String(n), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
41+ }
42+
43+
44+@Callable(p)
45+func opbrBuy (e,q,r) = {
46+ let s = toBase58String(p.caller.bytes)
47+ let t = p.payments
48+ let u = d(e)
49+ if ((size(t) == 0))
3650 then throw("Payment for exchange is mandatory")
37- else if ((size(q) == 2))
51+ else if ((size(t) == 2))
3852 then throw("Only one payment per transaction is allowed")
39- else if (!(i((e + toString((n + q[0].amount))), o)))
53+ else if (!(l((e + toString((q + t[0].amount))), r)))
4054 then throw("Stop hacking me!")
41- else if (if (isDefined(q[0].assetId))
42- then (r == false)
55+ else if (if (isDefined(t[0].assetId))
56+ then (u == false)
4357 else false)
4458 then throw("The used token is not accepted")
45- else if (if (isDefined(q[0].assetId))
46- then (fromBase58String(e) != q[0].assetId)
59+ else if (if (isDefined(t[0].assetId))
60+ then (fromBase58String(e) != t[0].assetId)
4761 else false)
4862 then throw("declared token is different from submitted token")
4963 else {
50- let s = fraction(1, q[0].amount, 100)
51-[ScriptTransfer(m.caller, n, c), ScriptTransfer(a, s, q[0].assetId)]
64+ let v = fraction(1, t[0].amount, 100)
65+[ScriptTransfer(p.caller, q, c), ScriptTransfer(a, v, t[0].assetId)]
5266 }
5367 }
5468
5569
5670
57-@Callable(m)
58-func bygtw (t,u,v) = {
59- let w = toBase58String(m.caller.bytes)
60- if ((w != toString(b)))
71+@Callable(p)
72+func bygtw (w,x,y) = {
73+ let z = toBase58String(p.caller.bytes)
74+ if ((z != toString(b)))
6175 then throw("Your account is not authorized for gateway execution")
62- else [ScriptTransfer(m.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(u), v, c)]
76+ else if ((i(((toString(w) + " ") + x)) == true))
77+ then throw("Payout already Executed")
78+ else [ScriptTransfer(p.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(x), y, c)]
6379 }
6480
6581
6682
67-@Callable(m)
68-func tokenList (e,x) = {
69- let y = toBase58String(m.caller.bytes)
70- if (if ((y != toString(this)))
71- then (y != toString(a))
83+@Callable(p)
84+func tokenList (e,A) = {
85+ let B = toBase58String(p.caller.bytes)
86+ if (if ((B != toString(this)))
87+ then (B != toString(a))
7288 else false)
7389 then throw("The address is not authorized to list tokens")
74- else [StringEntry(e, x), ScriptTransfer(a, 1000000, unit)]
90+ else [StringEntry(e, A), ScriptTransfer(a, 1000000, unit)]
7591 }
7692
7793
7894
79-@Callable(m)
95+@Callable(p)
8096 func tokenDelist (e) = {
81- let y = toBase58String(m.caller.bytes)
82- if (if ((y != toString(this)))
83- then (y != toString(a))
97+ let B = toBase58String(p.caller.bytes)
98+ if (if ((B != toString(this)))
99+ then (B != toString(a))
84100 else false)
85101 then throw("The address is not authorized to delist tokens")
86102 else [DeleteEntry(e), ScriptTransfer(a, 10000000, unit)]
87103 }
88104
89105
90-@Verifier(z)
91-func A () = sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey)
106+@Verifier(C)
107+func D () = sigVerify(C.bodyBytes, C.proofs[0], C.senderPublicKey)
92108
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromPublicKey(fromBase58String("J7vyoUA8Gd5QMq4YVtedpv19dwCYroZEYrN8bKgLzqV8"))
55
66 let b = addressFromPublicKey(fromBase58String("C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS"))
77
88 let c = base58'BN6ta4Sfmmh8tfmJE4pqJrSxLNJReAqnerPePYqkjcjG'
99
1010 func d (e) = {
1111 let f = {
1212 let g = getString(this, e)
1313 if ($isInstanceOf(g, "String"))
1414 then {
1515 let h = g
1616 h
1717 }
1818 else false
1919 }
2020 f
2121 }
2222
2323
24-func i (j,k) = {
25- let l = toBytes(toBase58String(keccak256(blake2b256(toBytes(j)))))
26- sigVerify(l, fromBase58String(k), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
24+func i (j) = {
25+ let k = {
26+ let g = getString(b, j)
27+ if ($isInstanceOf(g, "Unit"))
28+ then {
29+ let h = g
30+ false
31+ }
32+ else true
33+ }
34+ k
2735 }
2836
2937
30-@Callable(m)
31-func opbrBuy (e,n,o) = {
32- let p = toBase58String(m.caller.bytes)
33- let q = m.payments
34- let r = d(e)
35- if ((size(q) == 0))
38+func l (m,n) = {
39+ let o = toBytes(toBase58String(keccak256(blake2b256(toBytes(m)))))
40+ sigVerify(o, fromBase58String(n), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
41+ }
42+
43+
44+@Callable(p)
45+func opbrBuy (e,q,r) = {
46+ let s = toBase58String(p.caller.bytes)
47+ let t = p.payments
48+ let u = d(e)
49+ if ((size(t) == 0))
3650 then throw("Payment for exchange is mandatory")
37- else if ((size(q) == 2))
51+ else if ((size(t) == 2))
3852 then throw("Only one payment per transaction is allowed")
39- else if (!(i((e + toString((n + q[0].amount))), o)))
53+ else if (!(l((e + toString((q + t[0].amount))), r)))
4054 then throw("Stop hacking me!")
41- else if (if (isDefined(q[0].assetId))
42- then (r == false)
55+ else if (if (isDefined(t[0].assetId))
56+ then (u == false)
4357 else false)
4458 then throw("The used token is not accepted")
45- else if (if (isDefined(q[0].assetId))
46- then (fromBase58String(e) != q[0].assetId)
59+ else if (if (isDefined(t[0].assetId))
60+ then (fromBase58String(e) != t[0].assetId)
4761 else false)
4862 then throw("declared token is different from submitted token")
4963 else {
50- let s = fraction(1, q[0].amount, 100)
51-[ScriptTransfer(m.caller, n, c), ScriptTransfer(a, s, q[0].assetId)]
64+ let v = fraction(1, t[0].amount, 100)
65+[ScriptTransfer(p.caller, q, c), ScriptTransfer(a, v, t[0].assetId)]
5266 }
5367 }
5468
5569
5670
57-@Callable(m)
58-func bygtw (t,u,v) = {
59- let w = toBase58String(m.caller.bytes)
60- if ((w != toString(b)))
71+@Callable(p)
72+func bygtw (w,x,y) = {
73+ let z = toBase58String(p.caller.bytes)
74+ if ((z != toString(b)))
6175 then throw("Your account is not authorized for gateway execution")
62- else [ScriptTransfer(m.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(u), v, c)]
76+ else if ((i(((toString(w) + " ") + x)) == true))
77+ then throw("Payout already Executed")
78+ else [ScriptTransfer(p.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(x), y, c)]
6379 }
6480
6581
6682
67-@Callable(m)
68-func tokenList (e,x) = {
69- let y = toBase58String(m.caller.bytes)
70- if (if ((y != toString(this)))
71- then (y != toString(a))
83+@Callable(p)
84+func tokenList (e,A) = {
85+ let B = toBase58String(p.caller.bytes)
86+ if (if ((B != toString(this)))
87+ then (B != toString(a))
7288 else false)
7389 then throw("The address is not authorized to list tokens")
74- else [StringEntry(e, x), ScriptTransfer(a, 1000000, unit)]
90+ else [StringEntry(e, A), ScriptTransfer(a, 1000000, unit)]
7591 }
7692
7793
7894
79-@Callable(m)
95+@Callable(p)
8096 func tokenDelist (e) = {
81- let y = toBase58String(m.caller.bytes)
82- if (if ((y != toString(this)))
83- then (y != toString(a))
97+ let B = toBase58String(p.caller.bytes)
98+ if (if ((B != toString(this)))
99+ then (B != toString(a))
84100 else false)
85101 then throw("The address is not authorized to delist tokens")
86102 else [DeleteEntry(e), ScriptTransfer(a, 10000000, unit)]
87103 }
88104
89105
90-@Verifier(z)
91-func A () = sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey)
106+@Verifier(C)
107+func D () = sigVerify(C.bodyBytes, C.proofs[0], C.senderPublicKey)
92108

github/deemru/w8io/3ef1775 
50.18 ms