tx · 7e2fyHr9YGe9mn5g4xa83T7C5Mc4aE6iVNAifoS4VRrc 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK: -0.00700000 Waves 2022.06.27 17:38 [2114972] smart account 3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK > SELF 0.00000000 Waves
{ "type": 13, "id": "7e2fyHr9YGe9mn5g4xa83T7C5Mc4aE6iVNAifoS4VRrc", "fee": 700000, "feeAssetId": null, "timestamp": 1656340734620, "version": 2, "chainId": 84, "sender": "3NCzUsFn22SqL6SiuFpRSo8VRj6XpBzNCTK", "senderPublicKey": "8tc6RQVnwQMdDY1k9GxP7EvBttrJT2a6GeBMQHEsKnW7", "proofs": [ "39DMxYS4yPEY81G4cAVYXmkWbVcmsk4Z2YsNJ487xhfNy3wj7UbrAd14Uovq2fqpUV6wvVnDPG4gvqXq4HvoEjYN" ], "script": "base64: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", "height": 2114972, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ALRoUu2Rjw7UGiSNch45uv6aTcfarucUWgtuhg2VquEs Next: BGe87eAkHcUFE99gP7ghCLu9FG8XFVFkNtjAF9CWTzB1 Diff:
Old | New | Differences | |
---|---|---|---|
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | - | func g (h,i) = { | |
29 | - | let j = fromBase58String(b((h + "_id"))) | |
30 | - | let k = b((h + "_st")) | |
31 | - | let l = assetBalance(this, j) | |
32 | - | if ((i == -1)) | |
33 | - | then invoke(Address(fromBase58String(k)), "stakeFarmTokens", [false], [AttachedPayment(j, l)]) | |
34 | - | else if ((l >= i)) | |
35 | - | then invoke(Address(fromBase58String(k)), "stakeFarmTokens", [false], [AttachedPayment(j, i)]) | |
36 | - | else throw(((("Low balance: " + toString(l)) + " and need: ") + toString(i))) | |
28 | + | func g (h) = if ((h == "WAVES")) | |
29 | + | then unit | |
30 | + | else fromBase58String(h) | |
31 | + | ||
32 | + | ||
33 | + | func i (j,k) = { | |
34 | + | let l = fromBase58String(b((j + "_id"))) | |
35 | + | let m = b((j + "_st")) | |
36 | + | let n = assetBalance(this, l) | |
37 | + | if ((k == -1)) | |
38 | + | then invoke(Address(fromBase58String(m)), "stakeFarmTokens", [false], [AttachedPayment(l, n)]) | |
39 | + | else if ((n >= k)) | |
40 | + | then invoke(Address(fromBase58String(m)), "stakeFarmTokens", [false], [AttachedPayment(l, k)]) | |
41 | + | else false | |
37 | 42 | } | |
38 | 43 | ||
39 | 44 | ||
40 | - | func | |
41 | - | let | |
42 | - | let | |
43 | - | contains( | |
45 | + | func o (p) = { | |
46 | + | let q = toBase58String(p) | |
47 | + | let r = getStringValue("points") | |
48 | + | contains(r, q) | |
44 | 49 | } | |
45 | 50 | ||
46 | 51 | ||
47 | - | func q (r,h) = if ((r == 0)) | |
48 | - | then g(h, -1) | |
49 | - | else 0 | |
52 | + | func s (t,j) = { | |
53 | + | let u = i(j, -1) | |
54 | + | let d = u | |
55 | + | if ($isInstanceOf(d, "ScriptTransfer")) | |
56 | + | then { | |
57 | + | let v = d | |
58 | + | (t ++ [u]) | |
59 | + | } | |
60 | + | else t | |
61 | + | } | |
50 | 62 | ||
51 | 63 | ||
52 | - | @Callable( | |
53 | - | func StakeAll () = if ( | |
54 | - | then | |
55 | - | let | |
56 | - | let | |
57 | - | let | |
58 | - | func | |
59 | - | then | |
60 | - | else | |
64 | + | @Callable(w) | |
65 | + | func StakeAll () = if (o(w.callerPublicKey)) | |
66 | + | then { | |
67 | + | let x = a | |
68 | + | let y = size(x) | |
69 | + | let z = nil | |
70 | + | func A (B,C) = if ((C >= y)) | |
71 | + | then B | |
72 | + | else s(B, x[C]) | |
61 | 73 | ||
62 | - | func | |
63 | - | then | |
74 | + | func D (B,C) = if ((C >= y)) | |
75 | + | then B | |
64 | 76 | else throw("List size exceeds 3") | |
65 | 77 | ||
66 | - | z | |
67 | - | } | |
78 | + | D(A(A(A(z, 0), 1), 2), 3) | |
79 | + | } | |
68 | 80 | else throw("Private Farm. Access prohibited!") | |
69 | 81 | ||
70 | 82 | ||
71 | 83 | ||
72 | - | @Callable( | |
73 | - | func UnstakeAll () = if ( | |
84 | + | @Callable(w) | |
85 | + | func UnstakeAll () = if (o(w.callerPublicKey)) | |
74 | 86 | then throw("Welcome") | |
75 | 87 | else throw("Private Farm. Access prohibited!") | |
76 | 88 | ||
77 | 89 | ||
78 | 90 | ||
79 | - | @Callable( | |
80 | - | func ClaimAll () = if ( | |
91 | + | @Callable(w) | |
92 | + | func ClaimAll () = if (o(w.callerPublicKey)) | |
81 | 93 | then throw("Welcome") | |
82 | 94 | else throw("Private Farm. Access prohibited!") | |
83 | 95 | ||
84 | 96 | ||
85 | - | @Verifier( | |
86 | - | func | |
97 | + | @Verifier(E) | |
98 | + | func F () = sigVerify(E.bodyBytes, E.proofs[0], E.senderPublicKey) | |
87 | 99 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = ["beta", "meta", "zeta"] | |
5 | 5 | ||
6 | 6 | func b (c) = { | |
7 | 7 | let d = getString(this, c) | |
8 | 8 | if ($isInstanceOf(d, "String")) | |
9 | 9 | then { | |
10 | 10 | let e = d | |
11 | 11 | e | |
12 | 12 | } | |
13 | 13 | else "" | |
14 | 14 | } | |
15 | 15 | ||
16 | 16 | ||
17 | 17 | func f (c) = { | |
18 | 18 | let d = getInteger(this, c) | |
19 | 19 | if ($isInstanceOf(d, "Int")) | |
20 | 20 | then { | |
21 | 21 | let e = d | |
22 | 22 | e | |
23 | 23 | } | |
24 | 24 | else 0 | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | - | func g (h,i) = { | |
29 | - | let j = fromBase58String(b((h + "_id"))) | |
30 | - | let k = b((h + "_st")) | |
31 | - | let l = assetBalance(this, j) | |
32 | - | if ((i == -1)) | |
33 | - | then invoke(Address(fromBase58String(k)), "stakeFarmTokens", [false], [AttachedPayment(j, l)]) | |
34 | - | else if ((l >= i)) | |
35 | - | then invoke(Address(fromBase58String(k)), "stakeFarmTokens", [false], [AttachedPayment(j, i)]) | |
36 | - | else throw(((("Low balance: " + toString(l)) + " and need: ") + toString(i))) | |
28 | + | func g (h) = if ((h == "WAVES")) | |
29 | + | then unit | |
30 | + | else fromBase58String(h) | |
31 | + | ||
32 | + | ||
33 | + | func i (j,k) = { | |
34 | + | let l = fromBase58String(b((j + "_id"))) | |
35 | + | let m = b((j + "_st")) | |
36 | + | let n = assetBalance(this, l) | |
37 | + | if ((k == -1)) | |
38 | + | then invoke(Address(fromBase58String(m)), "stakeFarmTokens", [false], [AttachedPayment(l, n)]) | |
39 | + | else if ((n >= k)) | |
40 | + | then invoke(Address(fromBase58String(m)), "stakeFarmTokens", [false], [AttachedPayment(l, k)]) | |
41 | + | else false | |
37 | 42 | } | |
38 | 43 | ||
39 | 44 | ||
40 | - | func | |
41 | - | let | |
42 | - | let | |
43 | - | contains( | |
45 | + | func o (p) = { | |
46 | + | let q = toBase58String(p) | |
47 | + | let r = getStringValue("points") | |
48 | + | contains(r, q) | |
44 | 49 | } | |
45 | 50 | ||
46 | 51 | ||
47 | - | func q (r,h) = if ((r == 0)) | |
48 | - | then g(h, -1) | |
49 | - | else 0 | |
52 | + | func s (t,j) = { | |
53 | + | let u = i(j, -1) | |
54 | + | let d = u | |
55 | + | if ($isInstanceOf(d, "ScriptTransfer")) | |
56 | + | then { | |
57 | + | let v = d | |
58 | + | (t ++ [u]) | |
59 | + | } | |
60 | + | else t | |
61 | + | } | |
50 | 62 | ||
51 | 63 | ||
52 | - | @Callable( | |
53 | - | func StakeAll () = if ( | |
54 | - | then | |
55 | - | let | |
56 | - | let | |
57 | - | let | |
58 | - | func | |
59 | - | then | |
60 | - | else | |
64 | + | @Callable(w) | |
65 | + | func StakeAll () = if (o(w.callerPublicKey)) | |
66 | + | then { | |
67 | + | let x = a | |
68 | + | let y = size(x) | |
69 | + | let z = nil | |
70 | + | func A (B,C) = if ((C >= y)) | |
71 | + | then B | |
72 | + | else s(B, x[C]) | |
61 | 73 | ||
62 | - | func | |
63 | - | then | |
74 | + | func D (B,C) = if ((C >= y)) | |
75 | + | then B | |
64 | 76 | else throw("List size exceeds 3") | |
65 | 77 | ||
66 | - | z | |
67 | - | } | |
78 | + | D(A(A(A(z, 0), 1), 2), 3) | |
79 | + | } | |
68 | 80 | else throw("Private Farm. Access prohibited!") | |
69 | 81 | ||
70 | 82 | ||
71 | 83 | ||
72 | - | @Callable( | |
73 | - | func UnstakeAll () = if ( | |
84 | + | @Callable(w) | |
85 | + | func UnstakeAll () = if (o(w.callerPublicKey)) | |
74 | 86 | then throw("Welcome") | |
75 | 87 | else throw("Private Farm. Access prohibited!") | |
76 | 88 | ||
77 | 89 | ||
78 | 90 | ||
79 | - | @Callable( | |
80 | - | func ClaimAll () = if ( | |
91 | + | @Callable(w) | |
92 | + | func ClaimAll () = if (o(w.callerPublicKey)) | |
81 | 93 | then throw("Welcome") | |
82 | 94 | else throw("Private Farm. Access prohibited!") | |
83 | 95 | ||
84 | 96 | ||
85 | - | @Verifier( | |
86 | - | func | |
97 | + | @Verifier(E) | |
98 | + | func F () = sigVerify(E.bodyBytes, E.proofs[0], E.senderPublicKey) | |
87 | 99 |
github/deemru/w8io/c3f4982 40.27 ms ◑