tx · HgNctPLGZ5HWN36sGXcU1XAVqvrvHiUDjCYBosZ6zt6p
3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj: -0.05000000 Waves
2024.02.14 14:01 [2975798] smart account 3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj > SELF 0.00000000 Waves
{
"type": 13,
"id": "HgNctPLGZ5HWN36sGXcU1XAVqvrvHiUDjCYBosZ6zt6p",
"fee": 5000000,
"feeAssetId": null,
"timestamp": 1707908482075,
"version": 2,
"chainId": 84,
"sender": "3MriS1yLhFcKRAM51jDyNAdusa6bCWrTCYj",
"senderPublicKey": "CgjXoHPsstPW1WBAcTeBgjKtLSNFmLbQ7pLJ19JzkCy9",
"proofs": [
"QG8wdgnzpP4SJ3p8g27UZnu66eLd6KcNivmMCojXn9Vfsz1rBevkarzQarDgjPpFHMjXriDKUVHqi76M9eMaD92"
],
"script": "base64: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",
"height": 2975798,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 89M6nn5Tu9uL2j6m7rJFuEGPoRLmtP8FMeCiMK9PY5WQ
Next: none
Diff:
Old | New | | Differences |
---|
6 | 6 | | let b = 100000000 |
---|
7 | 7 | | |
---|
8 | 8 | | func c (d) = { |
---|
9 | | - | let e = getInteger(a, ("dao_user_" + d)) |
---|
| 9 | + | let e = getInteger(this, (d + "_endHeight")) |
---|
10 | 10 | | if ($isInstanceOf(e, "Int")) |
---|
11 | 11 | | then { |
---|
12 | 12 | | let f = e |
---|
|
16 | 16 | | } |
---|
17 | 17 | | |
---|
18 | 18 | | |
---|
19 | | - | func g (h,d) = { |
---|
20 | | - | let e = getBoolean(this, (((h + "_") + d) + "_voted")) |
---|
21 | | - | if ($isInstanceOf(e, "Boolean")) |
---|
22 | | - | then { |
---|
23 | | - | let i = e |
---|
24 | | - | i |
---|
25 | | - | } |
---|
26 | | - | else false |
---|
27 | | - | } |
---|
28 | | - | |
---|
29 | | - | |
---|
30 | | - | func j (h) = { |
---|
31 | | - | let e = getInteger(this, (h + "_yes")) |
---|
| 19 | + | func g (h) = { |
---|
| 20 | + | let e = getInteger(a, ("dao_user_" + h)) |
---|
32 | 21 | | if ($isInstanceOf(e, "Int")) |
---|
33 | 22 | | then { |
---|
34 | 23 | | let f = e |
---|
|
38 | 27 | | } |
---|
39 | 28 | | |
---|
40 | 29 | | |
---|
41 | | - | func k (h) = { |
---|
42 | | - | let e = getInteger(this, (h + "_no")) |
---|
| 30 | + | func i (d,h) = { |
---|
| 31 | + | let e = getBoolean(this, (((d + "_") + h) + "_voted")) |
---|
| 32 | + | if ($isInstanceOf(e, "Boolean")) |
---|
| 33 | + | then { |
---|
| 34 | + | let j = e |
---|
| 35 | + | j |
---|
| 36 | + | } |
---|
| 37 | + | else false |
---|
| 38 | + | } |
---|
| 39 | + | |
---|
| 40 | + | |
---|
| 41 | + | func k (d) = { |
---|
| 42 | + | let e = getInteger(this, (d + "_yes")) |
---|
| 43 | + | if ($isInstanceOf(e, "Int")) |
---|
| 44 | + | then { |
---|
| 45 | + | let f = e |
---|
| 46 | + | f |
---|
| 47 | + | } |
---|
| 48 | + | else -1 |
---|
| 49 | + | } |
---|
| 50 | + | |
---|
| 51 | + | |
---|
| 52 | + | func l (d) = { |
---|
| 53 | + | let e = getInteger(this, (d + "_no")) |
---|
43 | 54 | | if ($isInstanceOf(e, "Int")) |
---|
44 | 55 | | then { |
---|
45 | 56 | | let f = e |
---|
|
50 | 61 | | |
---|
51 | 62 | | |
---|
52 | 63 | | @Callable(f) |
---|
53 | | - | func registerVote (l,m,n) = { |
---|
54 | | - | let o = toBase58String(f.callerPublicKey) |
---|
55 | | - | let h = toBase58String(f.transactionId) |
---|
56 | | - | let p = (height + 7200) |
---|
57 | | - | let q = c(o) |
---|
58 | | - | if ((b > q)) |
---|
| 64 | + | func registerVote (m,n,o) = { |
---|
| 65 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 66 | + | let d = toBase58String(f.transactionId) |
---|
| 67 | + | let q = (height + 7200) |
---|
| 68 | + | let r = g(p) |
---|
| 69 | + | if ((b > r)) |
---|
59 | 70 | | then throw("User has not been active enough on the platform!") |
---|
60 | | - | else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), StringEntry((h + "_initiator"), o), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)] |
---|
| 71 | + | else [IntegerEntry((d + "_endHeight"), q), StringEntry((d + "_title"), m), StringEntry((d + "_description"), n), StringEntry((d + "_link"), o), StringEntry((d + "_initiator"), p), IntegerEntry((d + "_yes"), 0), IntegerEntry((d + "_no"), 0)] |
---|
61 | 72 | | } |
---|
62 | 73 | | |
---|
63 | 74 | | |
---|
64 | 75 | | |
---|
65 | 76 | | @Callable(f) |
---|
66 | | - | func yes (h) = { |
---|
67 | | - | let o = toBase58String(f.callerPublicKey) |
---|
68 | | - | let r = j(h) |
---|
69 | | - | let s = c(o) |
---|
70 | | - | let t = g(h, o) |
---|
71 | | - | if ((r == -1)) |
---|
| 77 | + | func yes (d) = { |
---|
| 78 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 79 | + | let s = k(d) |
---|
| 80 | + | let t = g(p) |
---|
| 81 | + | let u = i(d, p) |
---|
| 82 | + | let v = c(d) |
---|
| 83 | + | if ((s == -1)) |
---|
72 | 84 | | then throw("Vote not found!") |
---|
73 | | - | else if (t) |
---|
74 | | - | then throw("Address already voted!") |
---|
75 | | - | else [IntegerEntry((h + "_yes"), (r + s)), IntegerEntry((((h + "_") + o) + "_yes"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)] |
---|
| 85 | + | else if ((height > v)) |
---|
| 86 | + | then throw("Vote no longer active!") |
---|
| 87 | + | else if (u) |
---|
| 88 | + | then throw("Address already voted!") |
---|
| 89 | + | else [IntegerEntry((d + "_yes"), (s + t)), IntegerEntry((((d + "_") + p) + "_yes"), t), BooleanEntry((((d + "_") + p) + "_voted"), true)] |
---|
76 | 90 | | } |
---|
77 | 91 | | |
---|
78 | 92 | | |
---|
79 | 93 | | |
---|
80 | 94 | | @Callable(f) |
---|
81 | | - | func no (h) = { |
---|
82 | | - | let o = toBase58String(f.callerPublicKey) |
---|
83 | | - | let u = k(h) |
---|
84 | | - | let s = c(o) |
---|
85 | | - | let t = g(h, o) |
---|
86 | | - | if ((u == -1)) |
---|
| 95 | + | func no (d) = { |
---|
| 96 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 97 | + | let w = l(d) |
---|
| 98 | + | let t = g(p) |
---|
| 99 | + | let u = i(d, p) |
---|
| 100 | + | let v = c(d) |
---|
| 101 | + | if ((w == -1)) |
---|
87 | 102 | | then throw("Vote not found!") |
---|
88 | | - | else if (t) |
---|
89 | | - | then throw("Address already voted!") |
---|
90 | | - | else [IntegerEntry((h + "_no"), (u + s)), IntegerEntry((((h + "_") + o) + "_no"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)] |
---|
| 103 | + | else if ((height > v)) |
---|
| 104 | + | then throw("Vote no longer active!") |
---|
| 105 | + | else if (u) |
---|
| 106 | + | then throw("Address already voted!") |
---|
| 107 | + | else [IntegerEntry((d + "_no"), (w + t)), IntegerEntry((((d + "_") + p) + "_no"), t), BooleanEntry((((d + "_") + p) + "_voted"), true)] |
---|
91 | 108 | | } |
---|
92 | 109 | | |
---|
93 | 110 | | |
---|
94 | 111 | | |
---|
95 | 112 | | @Callable(f) |
---|
96 | | - | func retractVote (h) = { |
---|
97 | | - | let o = toBase58String(f.callerPublicKey) |
---|
98 | | - | let u = k(h) |
---|
99 | | - | let r = j(h) |
---|
100 | | - | let v = { |
---|
101 | | - | let e = getInteger(this, (((h + "_") + o) + "_no")) |
---|
| 113 | + | func retractVote (d) = { |
---|
| 114 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 115 | + | let w = l(d) |
---|
| 116 | + | let s = k(d) |
---|
| 117 | + | let x = { |
---|
| 118 | + | let e = getInteger(this, (((d + "_") + p) + "_no")) |
---|
102 | 119 | | if ($isInstanceOf(e, "Int")) |
---|
103 | 120 | | then { |
---|
104 | | - | let w = e |
---|
105 | | - | w |
---|
| 121 | + | let y = e |
---|
| 122 | + | y |
---|
106 | 123 | | } |
---|
107 | 124 | | else 0 |
---|
108 | 125 | | } |
---|
109 | | - | let x = { |
---|
110 | | - | let e = getInteger(this, (((h + "_") + o) + "_yes")) |
---|
| 126 | + | let z = { |
---|
| 127 | + | let e = getInteger(this, (((d + "_") + p) + "_yes")) |
---|
111 | 128 | | if ($isInstanceOf(e, "Int")) |
---|
112 | 129 | | then { |
---|
113 | | - | let w = e |
---|
114 | | - | w |
---|
| 130 | + | let y = e |
---|
| 131 | + | y |
---|
115 | 132 | | } |
---|
116 | 133 | | else 0 |
---|
117 | 134 | | } |
---|
118 | | - | if (if ((r == -1)) |
---|
| 135 | + | let v = c(d) |
---|
| 136 | + | if (if ((s == -1)) |
---|
119 | 137 | | then true |
---|
120 | | - | else (u == -1)) |
---|
| 138 | + | else (w == -1)) |
---|
121 | 139 | | then throw("No active vote for this vote id!") |
---|
122 | | - | else [IntegerEntry((h + "_no"), (u - v)), IntegerEntry((h + "_yes"), (r - x)), IntegerEntry((((h + "_") + o) + "_no"), 0), IntegerEntry((((h + "_") + o) + "_yes"), 0), BooleanEntry((((h + "_") + o) + "_voted"), false)] |
---|
| 140 | + | else if ((height > v)) |
---|
| 141 | + | then throw("Vote no longer active!") |
---|
| 142 | + | else [IntegerEntry((d + "_no"), (w - x)), IntegerEntry((d + "_yes"), (s - z)), IntegerEntry((((d + "_") + p) + "_no"), 0), IntegerEntry((((d + "_") + p) + "_yes"), 0), BooleanEntry((((d + "_") + p) + "_voted"), false)] |
---|
123 | 143 | | } |
---|
124 | 144 | | |
---|
125 | 145 | | |
---|
126 | | - | @Verifier(y) |
---|
127 | | - | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) |
---|
| 146 | + | @Verifier(A) |
---|
| 147 | + | func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey) |
---|
128 | 148 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = addressFromStringValue("3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV") |
---|
5 | 5 | | |
---|
6 | 6 | | let b = 100000000 |
---|
7 | 7 | | |
---|
8 | 8 | | func c (d) = { |
---|
9 | | - | let e = getInteger(a, ("dao_user_" + d)) |
---|
| 9 | + | let e = getInteger(this, (d + "_endHeight")) |
---|
10 | 10 | | if ($isInstanceOf(e, "Int")) |
---|
11 | 11 | | then { |
---|
12 | 12 | | let f = e |
---|
13 | 13 | | f |
---|
14 | 14 | | } |
---|
15 | 15 | | else -1 |
---|
16 | 16 | | } |
---|
17 | 17 | | |
---|
18 | 18 | | |
---|
19 | | - | func g (h,d) = { |
---|
20 | | - | let e = getBoolean(this, (((h + "_") + d) + "_voted")) |
---|
21 | | - | if ($isInstanceOf(e, "Boolean")) |
---|
22 | | - | then { |
---|
23 | | - | let i = e |
---|
24 | | - | i |
---|
25 | | - | } |
---|
26 | | - | else false |
---|
27 | | - | } |
---|
28 | | - | |
---|
29 | | - | |
---|
30 | | - | func j (h) = { |
---|
31 | | - | let e = getInteger(this, (h + "_yes")) |
---|
| 19 | + | func g (h) = { |
---|
| 20 | + | let e = getInteger(a, ("dao_user_" + h)) |
---|
32 | 21 | | if ($isInstanceOf(e, "Int")) |
---|
33 | 22 | | then { |
---|
34 | 23 | | let f = e |
---|
35 | 24 | | f |
---|
36 | 25 | | } |
---|
37 | 26 | | else -1 |
---|
38 | 27 | | } |
---|
39 | 28 | | |
---|
40 | 29 | | |
---|
41 | | - | func k (h) = { |
---|
42 | | - | let e = getInteger(this, (h + "_no")) |
---|
| 30 | + | func i (d,h) = { |
---|
| 31 | + | let e = getBoolean(this, (((d + "_") + h) + "_voted")) |
---|
| 32 | + | if ($isInstanceOf(e, "Boolean")) |
---|
| 33 | + | then { |
---|
| 34 | + | let j = e |
---|
| 35 | + | j |
---|
| 36 | + | } |
---|
| 37 | + | else false |
---|
| 38 | + | } |
---|
| 39 | + | |
---|
| 40 | + | |
---|
| 41 | + | func k (d) = { |
---|
| 42 | + | let e = getInteger(this, (d + "_yes")) |
---|
| 43 | + | if ($isInstanceOf(e, "Int")) |
---|
| 44 | + | then { |
---|
| 45 | + | let f = e |
---|
| 46 | + | f |
---|
| 47 | + | } |
---|
| 48 | + | else -1 |
---|
| 49 | + | } |
---|
| 50 | + | |
---|
| 51 | + | |
---|
| 52 | + | func l (d) = { |
---|
| 53 | + | let e = getInteger(this, (d + "_no")) |
---|
43 | 54 | | if ($isInstanceOf(e, "Int")) |
---|
44 | 55 | | then { |
---|
45 | 56 | | let f = e |
---|
46 | 57 | | f |
---|
47 | 58 | | } |
---|
48 | 59 | | else -1 |
---|
49 | 60 | | } |
---|
50 | 61 | | |
---|
51 | 62 | | |
---|
52 | 63 | | @Callable(f) |
---|
53 | | - | func registerVote (l,m,n) = { |
---|
54 | | - | let o = toBase58String(f.callerPublicKey) |
---|
55 | | - | let h = toBase58String(f.transactionId) |
---|
56 | | - | let p = (height + 7200) |
---|
57 | | - | let q = c(o) |
---|
58 | | - | if ((b > q)) |
---|
| 64 | + | func registerVote (m,n,o) = { |
---|
| 65 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 66 | + | let d = toBase58String(f.transactionId) |
---|
| 67 | + | let q = (height + 7200) |
---|
| 68 | + | let r = g(p) |
---|
| 69 | + | if ((b > r)) |
---|
59 | 70 | | then throw("User has not been active enough on the platform!") |
---|
60 | | - | else [IntegerEntry((h + "_endHeight"), p), StringEntry((h + "_title"), l), StringEntry((h + "_description"), m), StringEntry((h + "_link"), n), StringEntry((h + "_initiator"), o), IntegerEntry((h + "_yes"), 0), IntegerEntry((h + "_no"), 0)] |
---|
| 71 | + | else [IntegerEntry((d + "_endHeight"), q), StringEntry((d + "_title"), m), StringEntry((d + "_description"), n), StringEntry((d + "_link"), o), StringEntry((d + "_initiator"), p), IntegerEntry((d + "_yes"), 0), IntegerEntry((d + "_no"), 0)] |
---|
61 | 72 | | } |
---|
62 | 73 | | |
---|
63 | 74 | | |
---|
64 | 75 | | |
---|
65 | 76 | | @Callable(f) |
---|
66 | | - | func yes (h) = { |
---|
67 | | - | let o = toBase58String(f.callerPublicKey) |
---|
68 | | - | let r = j(h) |
---|
69 | | - | let s = c(o) |
---|
70 | | - | let t = g(h, o) |
---|
71 | | - | if ((r == -1)) |
---|
| 77 | + | func yes (d) = { |
---|
| 78 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 79 | + | let s = k(d) |
---|
| 80 | + | let t = g(p) |
---|
| 81 | + | let u = i(d, p) |
---|
| 82 | + | let v = c(d) |
---|
| 83 | + | if ((s == -1)) |
---|
72 | 84 | | then throw("Vote not found!") |
---|
73 | | - | else if (t) |
---|
74 | | - | then throw("Address already voted!") |
---|
75 | | - | else [IntegerEntry((h + "_yes"), (r + s)), IntegerEntry((((h + "_") + o) + "_yes"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)] |
---|
| 85 | + | else if ((height > v)) |
---|
| 86 | + | then throw("Vote no longer active!") |
---|
| 87 | + | else if (u) |
---|
| 88 | + | then throw("Address already voted!") |
---|
| 89 | + | else [IntegerEntry((d + "_yes"), (s + t)), IntegerEntry((((d + "_") + p) + "_yes"), t), BooleanEntry((((d + "_") + p) + "_voted"), true)] |
---|
76 | 90 | | } |
---|
77 | 91 | | |
---|
78 | 92 | | |
---|
79 | 93 | | |
---|
80 | 94 | | @Callable(f) |
---|
81 | | - | func no (h) = { |
---|
82 | | - | let o = toBase58String(f.callerPublicKey) |
---|
83 | | - | let u = k(h) |
---|
84 | | - | let s = c(o) |
---|
85 | | - | let t = g(h, o) |
---|
86 | | - | if ((u == -1)) |
---|
| 95 | + | func no (d) = { |
---|
| 96 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 97 | + | let w = l(d) |
---|
| 98 | + | let t = g(p) |
---|
| 99 | + | let u = i(d, p) |
---|
| 100 | + | let v = c(d) |
---|
| 101 | + | if ((w == -1)) |
---|
87 | 102 | | then throw("Vote not found!") |
---|
88 | | - | else if (t) |
---|
89 | | - | then throw("Address already voted!") |
---|
90 | | - | else [IntegerEntry((h + "_no"), (u + s)), IntegerEntry((((h + "_") + o) + "_no"), s), BooleanEntry((((h + "_") + o) + "_voted"), true)] |
---|
| 103 | + | else if ((height > v)) |
---|
| 104 | + | then throw("Vote no longer active!") |
---|
| 105 | + | else if (u) |
---|
| 106 | + | then throw("Address already voted!") |
---|
| 107 | + | else [IntegerEntry((d + "_no"), (w + t)), IntegerEntry((((d + "_") + p) + "_no"), t), BooleanEntry((((d + "_") + p) + "_voted"), true)] |
---|
91 | 108 | | } |
---|
92 | 109 | | |
---|
93 | 110 | | |
---|
94 | 111 | | |
---|
95 | 112 | | @Callable(f) |
---|
96 | | - | func retractVote (h) = { |
---|
97 | | - | let o = toBase58String(f.callerPublicKey) |
---|
98 | | - | let u = k(h) |
---|
99 | | - | let r = j(h) |
---|
100 | | - | let v = { |
---|
101 | | - | let e = getInteger(this, (((h + "_") + o) + "_no")) |
---|
| 113 | + | func retractVote (d) = { |
---|
| 114 | + | let p = toBase58String(f.callerPublicKey) |
---|
| 115 | + | let w = l(d) |
---|
| 116 | + | let s = k(d) |
---|
| 117 | + | let x = { |
---|
| 118 | + | let e = getInteger(this, (((d + "_") + p) + "_no")) |
---|
102 | 119 | | if ($isInstanceOf(e, "Int")) |
---|
103 | 120 | | then { |
---|
104 | | - | let w = e |
---|
105 | | - | w |
---|
| 121 | + | let y = e |
---|
| 122 | + | y |
---|
106 | 123 | | } |
---|
107 | 124 | | else 0 |
---|
108 | 125 | | } |
---|
109 | | - | let x = { |
---|
110 | | - | let e = getInteger(this, (((h + "_") + o) + "_yes")) |
---|
| 126 | + | let z = { |
---|
| 127 | + | let e = getInteger(this, (((d + "_") + p) + "_yes")) |
---|
111 | 128 | | if ($isInstanceOf(e, "Int")) |
---|
112 | 129 | | then { |
---|
113 | | - | let w = e |
---|
114 | | - | w |
---|
| 130 | + | let y = e |
---|
| 131 | + | y |
---|
115 | 132 | | } |
---|
116 | 133 | | else 0 |
---|
117 | 134 | | } |
---|
118 | | - | if (if ((r == -1)) |
---|
| 135 | + | let v = c(d) |
---|
| 136 | + | if (if ((s == -1)) |
---|
119 | 137 | | then true |
---|
120 | | - | else (u == -1)) |
---|
| 138 | + | else (w == -1)) |
---|
121 | 139 | | then throw("No active vote for this vote id!") |
---|
122 | | - | else [IntegerEntry((h + "_no"), (u - v)), IntegerEntry((h + "_yes"), (r - x)), IntegerEntry((((h + "_") + o) + "_no"), 0), IntegerEntry((((h + "_") + o) + "_yes"), 0), BooleanEntry((((h + "_") + o) + "_voted"), false)] |
---|
| 140 | + | else if ((height > v)) |
---|
| 141 | + | then throw("Vote no longer active!") |
---|
| 142 | + | else [IntegerEntry((d + "_no"), (w - x)), IntegerEntry((d + "_yes"), (s - z)), IntegerEntry((((d + "_") + p) + "_no"), 0), IntegerEntry((((d + "_") + p) + "_yes"), 0), BooleanEntry((((d + "_") + p) + "_voted"), false)] |
---|
123 | 143 | | } |
---|
124 | 144 | | |
---|
125 | 145 | | |
---|
126 | | - | @Verifier(y) |
---|
127 | | - | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) |
---|
| 146 | + | @Verifier(A) |
---|
| 147 | + | func B () = sigVerify(A.bodyBytes, A.proofs[0], A.senderPublicKey) |
---|
128 | 148 | | |
---|