tx · EGNgqLzTRThZJtiet2qyKcaBu6nfBdtdNHMNNU393adK 3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY: -0.01400000 Waves 2022.04.23 21:45 [2021521] smart account 3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY > SELF 0.00000000 Waves
{ "type": 13, "id": "EGNgqLzTRThZJtiet2qyKcaBu6nfBdtdNHMNNU393adK", "fee": 1400000, "feeAssetId": null, "timestamp": 1650739518647, "version": 2, "chainId": 84, "sender": "3MxxzjRwbjN41dDGDgg5F2JJgWPrVn8HhJY", "senderPublicKey": "AjwiJDFnUaVggMfvSJrwswdGnvZ8wDawx4GpxFCYYUgC", "proofs": [ "5igL4B24YoWfWprzknja2WTq3fYfRgty7k6ujamHs9XLUw8RCE6JA8xbpXMDkAnuea4ixfvrqsDGUYwXuY4MUanK" ], "script": "base64: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", "height": 2021521, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3Ak1yvhDcG98uaKijHfuYBg2qaGXfp8gFVFHHyk6zYVJ Next: CPUA11s7bmtVZ3pjGxJnLyxJK69JQasfnYoaAbSevLo3 Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "3N18A9okSVG8WUs4PFK4YFvN4T8fQtr8Pvg" | |
5 | 5 | ||
6 | - | @Callable(b) | |
7 | - | func startVoting (c,d) = if ((toString(b.caller) != a)) | |
8 | - | then throw("Only admin account allowed") | |
9 | - | else [IntegerEntry((c + "_startblock"), height)] | |
6 | + | func b (c) = { | |
7 | + | let d = getInteger(c) | |
8 | + | if ($isInstanceOf(d, "Int")) | |
9 | + | then { | |
10 | + | let e = d | |
11 | + | e | |
12 | + | } | |
13 | + | else 0 | |
14 | + | } | |
10 | 15 | ||
11 | 16 | ||
12 | - | @Verifier(e) | |
13 | - | func f () = sigVerify(e.bodyBytes, e.proofs[0], e.senderPublicKey) | |
17 | + | func f (c) = { | |
18 | + | let d = getString(c) | |
19 | + | if ($isInstanceOf(d, "String")) | |
20 | + | then { | |
21 | + | let e = d | |
22 | + | e | |
23 | + | } | |
24 | + | else "" | |
25 | + | } | |
26 | + | ||
27 | + | ||
28 | + | @Callable(g) | |
29 | + | func startVoting (h,i) = if ((toString(g.caller) != a)) | |
30 | + | then throw("Only admin account allowed") | |
31 | + | else if ((100 >= i)) | |
32 | + | then throw("Invalid period value, should be more than 100 blocks") | |
33 | + | else if ((10 >= size(h))) | |
34 | + | then throw("Invalid name, should be more than 10 symbols") | |
35 | + | else if ((f((h + "_startblock")) != "")) | |
36 | + | then throw("The voting with such name already present") | |
37 | + | else { | |
38 | + | let j = b("lastVotingId") | |
39 | + | [IntegerEntry((h + "_startblock"), height), IntegerEntry((h + "_endblock"), (height + i)), StringEntry("currentVotingName", h), IntegerEntry("currentVotingStartBlock", height), IntegerEntry("currentVotingEndBlock", (height + i))] | |
40 | + | } | |
41 | + | ||
42 | + | ||
43 | + | ||
44 | + | @Callable(g) | |
45 | + | func deleteData (k) = { | |
46 | + | let l = split(k, ",|,") | |
47 | + | let m = size(l) | |
48 | + | let n = nil | |
49 | + | func o (p,q) = (p :+ DeleteEntry(q)) | |
50 | + | ||
51 | + | let r = l | |
52 | + | let s = size(r) | |
53 | + | let t = nil | |
54 | + | func u (v,w) = if ((w >= s)) | |
55 | + | then v | |
56 | + | else o(v, r[w]) | |
57 | + | ||
58 | + | func x (v,w) = if ((w >= s)) | |
59 | + | then v | |
60 | + | else throw("List size exceeds 5") | |
61 | + | ||
62 | + | x(u(u(u(u(u(t, 0), 1), 2), 3), 4), 5) | |
63 | + | } | |
64 | + | ||
65 | + | ||
66 | + | @Verifier(y) | |
67 | + | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
14 | 68 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "3N18A9okSVG8WUs4PFK4YFvN4T8fQtr8Pvg" | |
5 | 5 | ||
6 | - | @Callable(b) | |
7 | - | func startVoting (c,d) = if ((toString(b.caller) != a)) | |
8 | - | then throw("Only admin account allowed") | |
9 | - | else [IntegerEntry((c + "_startblock"), height)] | |
6 | + | func b (c) = { | |
7 | + | let d = getInteger(c) | |
8 | + | if ($isInstanceOf(d, "Int")) | |
9 | + | then { | |
10 | + | let e = d | |
11 | + | e | |
12 | + | } | |
13 | + | else 0 | |
14 | + | } | |
10 | 15 | ||
11 | 16 | ||
12 | - | @Verifier(e) | |
13 | - | func f () = sigVerify(e.bodyBytes, e.proofs[0], e.senderPublicKey) | |
17 | + | func f (c) = { | |
18 | + | let d = getString(c) | |
19 | + | if ($isInstanceOf(d, "String")) | |
20 | + | then { | |
21 | + | let e = d | |
22 | + | e | |
23 | + | } | |
24 | + | else "" | |
25 | + | } | |
26 | + | ||
27 | + | ||
28 | + | @Callable(g) | |
29 | + | func startVoting (h,i) = if ((toString(g.caller) != a)) | |
30 | + | then throw("Only admin account allowed") | |
31 | + | else if ((100 >= i)) | |
32 | + | then throw("Invalid period value, should be more than 100 blocks") | |
33 | + | else if ((10 >= size(h))) | |
34 | + | then throw("Invalid name, should be more than 10 symbols") | |
35 | + | else if ((f((h + "_startblock")) != "")) | |
36 | + | then throw("The voting with such name already present") | |
37 | + | else { | |
38 | + | let j = b("lastVotingId") | |
39 | + | [IntegerEntry((h + "_startblock"), height), IntegerEntry((h + "_endblock"), (height + i)), StringEntry("currentVotingName", h), IntegerEntry("currentVotingStartBlock", height), IntegerEntry("currentVotingEndBlock", (height + i))] | |
40 | + | } | |
41 | + | ||
42 | + | ||
43 | + | ||
44 | + | @Callable(g) | |
45 | + | func deleteData (k) = { | |
46 | + | let l = split(k, ",|,") | |
47 | + | let m = size(l) | |
48 | + | let n = nil | |
49 | + | func o (p,q) = (p :+ DeleteEntry(q)) | |
50 | + | ||
51 | + | let r = l | |
52 | + | let s = size(r) | |
53 | + | let t = nil | |
54 | + | func u (v,w) = if ((w >= s)) | |
55 | + | then v | |
56 | + | else o(v, r[w]) | |
57 | + | ||
58 | + | func x (v,w) = if ((w >= s)) | |
59 | + | then v | |
60 | + | else throw("List size exceeds 5") | |
61 | + | ||
62 | + | x(u(u(u(u(u(t, 0), 1), 2), 3), 4), 5) | |
63 | + | } | |
64 | + | ||
65 | + | ||
66 | + | @Verifier(y) | |
67 | + | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
14 | 68 |
github/deemru/w8io/03bedc9 21.84 ms ◑