tx · A9UYiY4PJdvs1EK745s4Cejgr8NMgECFq3SZRvU8Y87F 3PBF8zF2VoVRJqxQSE4PUUruZUZjRuPJYFd: -0.00900000 Waves 2022.08.29 09:59 [3270914] smart account 3PBF8zF2VoVRJqxQSE4PUUruZUZjRuPJYFd > SELF 0.00000000 Waves
{ "type": 13, "id": "A9UYiY4PJdvs1EK745s4Cejgr8NMgECFq3SZRvU8Y87F", "fee": 900000, "feeAssetId": null, "timestamp": 1661756375341, "version": 1, "sender": "3PBF8zF2VoVRJqxQSE4PUUruZUZjRuPJYFd", "senderPublicKey": "7u6N2qT5aaoGmyN8JhqWngkXZUJ9UJ3V6EoAqHwwkUec", "proofs": [ "3dphAUE7wpAiQZTZqkzfDpBSDqTCRKyZNsWxWnjxNu2FHDyFgYYgXa29koQkYY4SQQMpRmm2PvjVVCKVCDsk62Rz" ], "script": "base64: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", "chainId": 87, "height": 3270914, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H6uWTkKBbMCymG4nMjJiAo2ZCnqCkNvx6MTM9V9RPwzB Next: dEZz7AabBCgRwXLVaXHoTcP9Lpp7ATV9DfNQKZsy6on Diff:
Old | New | Differences | |
---|---|---|---|
13 | 13 | ||
14 | 14 | let f = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt') | |
15 | 15 | ||
16 | - | func g (h) = { | |
17 | - | let i = h | |
18 | - | if ($isInstanceOf(i, "(Int, Int, Int, Int, Int, Boolean)")) | |
16 | + | let g = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC') | |
17 | + | ||
18 | + | func h (i) = { | |
19 | + | let j = i | |
20 | + | if ($isInstanceOf(j, "(Int, Int, Int, Int, Int, Boolean)")) | |
19 | 21 | then { | |
20 | - | let | |
21 | - | | |
22 | + | let k = j | |
23 | + | k._2 | |
22 | 24 | } | |
23 | 25 | else { | |
24 | - | let | |
26 | + | let l = j | |
25 | 27 | throw("#err") | |
26 | 28 | } | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 | ||
30 | - | @Callable(l) | |
31 | - | func usdc_1000 (m) = { | |
32 | - | let n = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
33 | - | if ((toString(l.caller) != n)) | |
32 | + | func m (n) = { | |
33 | + | let o = assetBalance(Address(d), b) | |
34 | + | if ((1 > o)) | |
35 | + | then nil | |
36 | + | else { | |
37 | + | let p = h(invoke(Address(d), "userBalance", [toString(this)], nil)) | |
38 | + | if ((1 > p)) | |
39 | + | then throw("bad request") | |
40 | + | else { | |
41 | + | let q = if ((n > p)) | |
42 | + | then p | |
43 | + | else n | |
44 | + | let r = invoke(Address(a), "withdraw", [toBase58String(b), q], nil) | |
45 | + | if ((r == r)) | |
46 | + | then { | |
47 | + | let s = assetBalance(this, b) | |
48 | + | [ScriptTransfer(f, s, b)] | |
49 | + | } | |
50 | + | else throw("Strict value is not equal to itself.") | |
51 | + | } | |
52 | + | } | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | @Callable(t) | |
57 | + | func usdc_1000_v2 (n) = if ((t.caller != g)) | |
58 | + | then throw("only admin can do") | |
59 | + | else m(n) | |
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | @Callable(t) | |
64 | + | func usdc_1000 (n) = { | |
65 | + | let u = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
66 | + | if ((toString(t.caller) != u)) | |
34 | 67 | then throw("only admin can do") | |
35 | 68 | else { | |
36 | - | let | |
37 | - | if ((1 > | |
69 | + | let p = h(invoke(Address(d), "userBalance", [toString(this)], nil)) | |
70 | + | if ((1 > p)) | |
38 | 71 | then throw("bad request") | |
39 | 72 | else { | |
40 | - | let | |
41 | - | then | |
42 | - | else | |
43 | - | let | |
44 | - | if (( | |
73 | + | let q = if ((n > p)) | |
74 | + | then p | |
75 | + | else n | |
76 | + | let r = invoke(Address(a), "withdraw", [toBase58String(b), q], nil) | |
77 | + | if ((r == r)) | |
45 | 78 | then { | |
46 | - | let | |
47 | - | [ScriptTransfer(f, | |
79 | + | let s = assetBalance(this, b) | |
80 | + | [ScriptTransfer(f, s, b)] | |
48 | 81 | } | |
49 | 82 | else throw("Strict value is not equal to itself.") | |
50 | 83 | } | |
53 | 86 | ||
54 | 87 | ||
55 | 88 | ||
56 | - | @Callable( | |
57 | - | func usdt_1000 ( | |
58 | - | let | |
59 | - | if ((toString( | |
89 | + | @Callable(t) | |
90 | + | func usdt_1000 (n) = { | |
91 | + | let u = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
92 | + | if ((toString(t.caller) != u)) | |
60 | 93 | then throw("only admin can do") | |
61 | 94 | else { | |
62 | - | let | |
63 | - | if ((1 > | |
95 | + | let p = h(invoke(Address(e), "userBalance", [toString(this)], nil)) | |
96 | + | if ((1 > p)) | |
64 | 97 | then throw("bad request") | |
65 | 98 | else { | |
66 | - | let | |
67 | - | then | |
68 | - | else | |
69 | - | let | |
70 | - | if (( | |
99 | + | let q = if ((n > p)) | |
100 | + | then p | |
101 | + | else n | |
102 | + | let r = invoke(Address(a), "withdraw", [toBase58String(c), q], nil) | |
103 | + | if ((r == r)) | |
71 | 104 | then { | |
72 | - | let | |
73 | - | [ScriptTransfer(f, | |
105 | + | let s = assetBalance(this, c) | |
106 | + | [ScriptTransfer(f, s, c)] | |
74 | 107 | } | |
75 | 108 | else throw("Strict value is not equal to itself.") | |
76 | 109 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT' | |
5 | 5 | ||
6 | 6 | let b = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' | |
7 | 7 | ||
8 | 8 | let c = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ' | |
9 | 9 | ||
10 | 10 | let d = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S' | |
11 | 11 | ||
12 | 12 | let e = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR' | |
13 | 13 | ||
14 | 14 | let f = Address(base58'3PC51qgNQz4xx7m1DhLdCDYESaeNKT6zeFt') | |
15 | 15 | ||
16 | - | func g (h) = { | |
17 | - | let i = h | |
18 | - | if ($isInstanceOf(i, "(Int, Int, Int, Int, Int, Boolean)")) | |
16 | + | let g = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC') | |
17 | + | ||
18 | + | func h (i) = { | |
19 | + | let j = i | |
20 | + | if ($isInstanceOf(j, "(Int, Int, Int, Int, Int, Boolean)")) | |
19 | 21 | then { | |
20 | - | let | |
21 | - | | |
22 | + | let k = j | |
23 | + | k._2 | |
22 | 24 | } | |
23 | 25 | else { | |
24 | - | let | |
26 | + | let l = j | |
25 | 27 | throw("#err") | |
26 | 28 | } | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 | ||
30 | - | @Callable(l) | |
31 | - | func usdc_1000 (m) = { | |
32 | - | let n = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
33 | - | if ((toString(l.caller) != n)) | |
32 | + | func m (n) = { | |
33 | + | let o = assetBalance(Address(d), b) | |
34 | + | if ((1 > o)) | |
35 | + | then nil | |
36 | + | else { | |
37 | + | let p = h(invoke(Address(d), "userBalance", [toString(this)], nil)) | |
38 | + | if ((1 > p)) | |
39 | + | then throw("bad request") | |
40 | + | else { | |
41 | + | let q = if ((n > p)) | |
42 | + | then p | |
43 | + | else n | |
44 | + | let r = invoke(Address(a), "withdraw", [toBase58String(b), q], nil) | |
45 | + | if ((r == r)) | |
46 | + | then { | |
47 | + | let s = assetBalance(this, b) | |
48 | + | [ScriptTransfer(f, s, b)] | |
49 | + | } | |
50 | + | else throw("Strict value is not equal to itself.") | |
51 | + | } | |
52 | + | } | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | @Callable(t) | |
57 | + | func usdc_1000_v2 (n) = if ((t.caller != g)) | |
58 | + | then throw("only admin can do") | |
59 | + | else m(n) | |
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | @Callable(t) | |
64 | + | func usdc_1000 (n) = { | |
65 | + | let u = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
66 | + | if ((toString(t.caller) != u)) | |
34 | 67 | then throw("only admin can do") | |
35 | 68 | else { | |
36 | - | let | |
37 | - | if ((1 > | |
69 | + | let p = h(invoke(Address(d), "userBalance", [toString(this)], nil)) | |
70 | + | if ((1 > p)) | |
38 | 71 | then throw("bad request") | |
39 | 72 | else { | |
40 | - | let | |
41 | - | then | |
42 | - | else | |
43 | - | let | |
44 | - | if (( | |
73 | + | let q = if ((n > p)) | |
74 | + | then p | |
75 | + | else n | |
76 | + | let r = invoke(Address(a), "withdraw", [toBase58String(b), q], nil) | |
77 | + | if ((r == r)) | |
45 | 78 | then { | |
46 | - | let | |
47 | - | [ScriptTransfer(f, | |
79 | + | let s = assetBalance(this, b) | |
80 | + | [ScriptTransfer(f, s, b)] | |
48 | 81 | } | |
49 | 82 | else throw("Strict value is not equal to itself.") | |
50 | 83 | } | |
51 | 84 | } | |
52 | 85 | } | |
53 | 86 | ||
54 | 87 | ||
55 | 88 | ||
56 | - | @Callable( | |
57 | - | func usdt_1000 ( | |
58 | - | let | |
59 | - | if ((toString( | |
89 | + | @Callable(t) | |
90 | + | func usdt_1000 (n) = { | |
91 | + | let u = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC" | |
92 | + | if ((toString(t.caller) != u)) | |
60 | 93 | then throw("only admin can do") | |
61 | 94 | else { | |
62 | - | let | |
63 | - | if ((1 > | |
95 | + | let p = h(invoke(Address(e), "userBalance", [toString(this)], nil)) | |
96 | + | if ((1 > p)) | |
64 | 97 | then throw("bad request") | |
65 | 98 | else { | |
66 | - | let | |
67 | - | then | |
68 | - | else | |
69 | - | let | |
70 | - | if (( | |
99 | + | let q = if ((n > p)) | |
100 | + | then p | |
101 | + | else n | |
102 | + | let r = invoke(Address(a), "withdraw", [toBase58String(c), q], nil) | |
103 | + | if ((r == r)) | |
71 | 104 | then { | |
72 | - | let | |
73 | - | [ScriptTransfer(f, | |
105 | + | let s = assetBalance(this, c) | |
106 | + | [ScriptTransfer(f, s, c)] | |
74 | 107 | } | |
75 | 108 | else throw("Strict value is not equal to itself.") | |
76 | 109 | } | |
77 | 110 | } | |
78 | 111 | } | |
79 | 112 | ||
80 | 113 |
github/deemru/w8io/0e76f2f 43.65 ms ◑