tx · 4qV9EVJ5ZQ2mwaVux3ysFBJV5aJUu8Mo82tqbkPRN1Mt

3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe:  -0.01400000 Waves

2020.11.30 20:46 [1288475] smart account 3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe > SELF 0.00000000 Waves

{ "type": 13, "id": "4qV9EVJ5ZQ2mwaVux3ysFBJV5aJUu8Mo82tqbkPRN1Mt", "fee": 1400000, "feeAssetId": null, "timestamp": 1606758394634, "version": 2, "chainId": 84, "sender": "3MpKvUfNxrgF7QotPjFwi8thMagSveNScKe", "senderPublicKey": "9GE2xN4fms9YNDxR1hGg52RynqDd8125TA42g4X29ZV7", "proofs": [ "4bMoZo2o62S9Doe7tj3wM9QYb1sTNasYL3nUgGDRh6SGiShoSX8A8kbBVL1eUDANyd2LysLs7AvAaAd5MErkj2fo" ], "script": "base64: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", "height": 1288475, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EfWQ7CUKSC7EEC7YT23JzPyqyJyBNPkzTj1EEnJmjp1B Next: 9Lf9kbCkyTXnRoDw11CoS6vmYE5cZxusnbwuPP1sDLaw Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromPublicKey(fromBase58String("J7vyoUA8Gd5QMq4YVtedpv19dwCYroZEYrN8bKgLzqV8"))
55
6-let b = base58'HMov2457acf5MEJr85fvXYL3vrTEevFpsEQkHh1yfdUT'
6+let b = addressFromPublicKey(fromBase58String("C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS"))
77
8-func c (d) = {
9- let e = {
10- let f = getString(this, d)
11- if ($isInstanceOf(f, "String"))
8+let c = base58'BN6ta4Sfmmh8tfmJE4pqJrSxLNJReAqnerPePYqkjcjG'
9+
10+func d (e) = {
11+ let f = {
12+ let g = getString(this, e)
13+ if ($isInstanceOf(g, "String"))
1214 then {
13- let g = f
14- g
15+ let h = g
16+ h
1517 }
1618 else false
1719 }
18- e
20+ f
1921 }
2022
2123
22-func h (i,j) = {
23- let k = toBytes(toBase58String(keccak256(blake2b256(toBytes(i)))))
24- sigVerify(k, fromBase58String(j), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
24+func i (j,k) = {
25+ let l = toBytes(toBase58String(keccak256(blake2b256(toBytes(j)))))
26+ sigVerify(l, fromBase58String(k), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
2527 }
2628
2729
28-@Callable(l)
29-func opbrTest (d,m,n) = {
30- let o = l.payments
31- if ((d == "kjflkdsjf"))
32- then throw("nada")
33- else throw((d + toString((m + o[0].amount))))
34- }
35-
36-
37-
38-@Callable(l)
39-func opbrBuy (d,m,n) = {
40- let p = toBase58String(l.caller.bytes)
41- let o = l.payments
42- let q = c(d)
43- if ((size(o) == 0))
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))
4436 then throw("Payment for exchange is mandatory")
45- else if ((size(o) == 2))
37+ else if ((size(q) == 2))
4638 then throw("Only one payment per transaction is allowed")
47- else if (!(h((d + toString((m + o[0].amount))), n)))
39+ else if (!(i((e + toString((n + q[0].amount))), o)))
4840 then throw("Stop hacking me!")
49- else if (if (isDefined(o[0].assetId))
50- then (q == false)
41+ else if (if (isDefined(q[0].assetId))
42+ then (r == false)
5143 else false)
5244 then throw("The used token is not accepted")
53- else if (if (isDefined(o[0].assetId))
54- then (fromBase58String(d) != o[0].assetId)
45+ else if (if (isDefined(q[0].assetId))
46+ then (fromBase58String(e) != q[0].assetId)
5547 else false)
5648 then throw("declared token is different from submitted token")
5749 else {
58- let r = fraction(1, o[0].amount, 100)
59-[ScriptTransfer(l.caller, m, b), ScriptTransfer(a, r, o[0].assetId)]
50+ let s = fraction(1, q[0].amount, 100)
51+[ScriptTransfer(m.caller, n, c), ScriptTransfer(a, s, q[0].assetId)]
6052 }
6153 }
6254
6355
6456
65-@Callable(l)
66-func tokenList (d,s) = {
67- let t = toBase58String(l.caller.bytes)
68- if (if ((t != toString(this)))
69- then (t != toString(a))
70- else false)
71- then throw("The address is not authorized to list tokens")
72- else [StringEntry(d, s), ScriptTransfer(a, 1000000, unit)]
57+@Callable(m)
58+func bygtw (t,u,v) = {
59+ let w = toBase58String(m.caller.bytes)
60+ if ((w != toString(b)))
61+ then throw("Your account is not authorized for gateway execution")
62+ else [ScriptTransfer(m.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(u), v, c)]
7363 }
7464
7565
7666
77-@Callable(l)
78-func tokenDelist (d) = {
79- let t = toBase58String(l.caller.bytes)
80- if (if ((t != toString(this)))
81- then (t != toString(a))
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))
8272 else false)
83- then throw("The address is not authorized to delist tokens")
84- else [DeleteEntry(d), ScriptTransfer(a, 10000000, unit)]
73+ then throw("The address is not authorized to list tokens")
74+ else [StringEntry(e, x), ScriptTransfer(a, 1000000, unit)]
8575 }
8676
8777
88-@Verifier(u)
89-func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey)
78+
79+@Callable(m)
80+func tokenDelist (e) = {
81+ let y = toBase58String(m.caller.bytes)
82+ if (if ((y != toString(this)))
83+ then (y != toString(a))
84+ else false)
85+ then throw("The address is not authorized to delist tokens")
86+ else [DeleteEntry(e), ScriptTransfer(a, 10000000, unit)]
87+ }
88+
89+
90+@Verifier(z)
91+func A () = sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey)
9092
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromPublicKey(fromBase58String("J7vyoUA8Gd5QMq4YVtedpv19dwCYroZEYrN8bKgLzqV8"))
55
6-let b = base58'HMov2457acf5MEJr85fvXYL3vrTEevFpsEQkHh1yfdUT'
6+let b = addressFromPublicKey(fromBase58String("C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS"))
77
8-func c (d) = {
9- let e = {
10- let f = getString(this, d)
11- if ($isInstanceOf(f, "String"))
8+let c = base58'BN6ta4Sfmmh8tfmJE4pqJrSxLNJReAqnerPePYqkjcjG'
9+
10+func d (e) = {
11+ let f = {
12+ let g = getString(this, e)
13+ if ($isInstanceOf(g, "String"))
1214 then {
13- let g = f
14- g
15+ let h = g
16+ h
1517 }
1618 else false
1719 }
18- e
20+ f
1921 }
2022
2123
22-func h (i,j) = {
23- let k = toBytes(toBase58String(keccak256(blake2b256(toBytes(i)))))
24- sigVerify(k, fromBase58String(j), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
24+func i (j,k) = {
25+ let l = toBytes(toBase58String(keccak256(blake2b256(toBytes(j)))))
26+ sigVerify(l, fromBase58String(k), base58'C8jRoXECFheT6JPcAkcyWPadYbxBA6tSyAqXqjq5dicS')
2527 }
2628
2729
28-@Callable(l)
29-func opbrTest (d,m,n) = {
30- let o = l.payments
31- if ((d == "kjflkdsjf"))
32- then throw("nada")
33- else throw((d + toString((m + o[0].amount))))
34- }
35-
36-
37-
38-@Callable(l)
39-func opbrBuy (d,m,n) = {
40- let p = toBase58String(l.caller.bytes)
41- let o = l.payments
42- let q = c(d)
43- if ((size(o) == 0))
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))
4436 then throw("Payment for exchange is mandatory")
45- else if ((size(o) == 2))
37+ else if ((size(q) == 2))
4638 then throw("Only one payment per transaction is allowed")
47- else if (!(h((d + toString((m + o[0].amount))), n)))
39+ else if (!(i((e + toString((n + q[0].amount))), o)))
4840 then throw("Stop hacking me!")
49- else if (if (isDefined(o[0].assetId))
50- then (q == false)
41+ else if (if (isDefined(q[0].assetId))
42+ then (r == false)
5143 else false)
5244 then throw("The used token is not accepted")
53- else if (if (isDefined(o[0].assetId))
54- then (fromBase58String(d) != o[0].assetId)
45+ else if (if (isDefined(q[0].assetId))
46+ then (fromBase58String(e) != q[0].assetId)
5547 else false)
5648 then throw("declared token is different from submitted token")
5749 else {
58- let r = fraction(1, o[0].amount, 100)
59-[ScriptTransfer(l.caller, m, b), ScriptTransfer(a, r, o[0].assetId)]
50+ let s = fraction(1, q[0].amount, 100)
51+[ScriptTransfer(m.caller, n, c), ScriptTransfer(a, s, q[0].assetId)]
6052 }
6153 }
6254
6355
6456
65-@Callable(l)
66-func tokenList (d,s) = {
67- let t = toBase58String(l.caller.bytes)
68- if (if ((t != toString(this)))
69- then (t != toString(a))
70- else false)
71- then throw("The address is not authorized to list tokens")
72- else [StringEntry(d, s), ScriptTransfer(a, 1000000, unit)]
57+@Callable(m)
58+func bygtw (t,u,v) = {
59+ let w = toBase58String(m.caller.bytes)
60+ if ((w != toString(b)))
61+ then throw("Your account is not authorized for gateway execution")
62+ else [ScriptTransfer(m.caller, 1000000, unit), ScriptTransfer(addressFromStringValue(u), v, c)]
7363 }
7464
7565
7666
77-@Callable(l)
78-func tokenDelist (d) = {
79- let t = toBase58String(l.caller.bytes)
80- if (if ((t != toString(this)))
81- then (t != toString(a))
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))
8272 else false)
83- then throw("The address is not authorized to delist tokens")
84- else [DeleteEntry(d), ScriptTransfer(a, 10000000, unit)]
73+ then throw("The address is not authorized to list tokens")
74+ else [StringEntry(e, x), ScriptTransfer(a, 1000000, unit)]
8575 }
8676
8777
88-@Verifier(u)
89-func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey)
78+
79+@Callable(m)
80+func tokenDelist (e) = {
81+ let y = toBase58String(m.caller.bytes)
82+ if (if ((y != toString(this)))
83+ then (y != toString(a))
84+ else false)
85+ then throw("The address is not authorized to delist tokens")
86+ else [DeleteEntry(e), ScriptTransfer(a, 10000000, unit)]
87+ }
88+
89+
90+@Verifier(z)
91+func A () = sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey)
9092

github/deemru/w8io/169f3d6 
45.54 ms