tx · HKSGuDY5KHHzZ9iM8GaE7V1QX6RBNb2bTajt11wHR9WH

3MyJoBjw9nC4uhgWULVJUaEZEL6z9As7Yfq:  -0.00900000 Waves

2022.07.07 13:20 [2129142] smart account 3MyJoBjw9nC4uhgWULVJUaEZEL6z9As7Yfq > SELF 0.00000000 Waves

{ "type": 13, "id": "HKSGuDY5KHHzZ9iM8GaE7V1QX6RBNb2bTajt11wHR9WH", "fee": 900000, "feeAssetId": null, "timestamp": 1657189224123, "version": 2, "chainId": 84, "sender": "3MyJoBjw9nC4uhgWULVJUaEZEL6z9As7Yfq", "senderPublicKey": "6E1saVK6whrqLsuLBQRGg6smask3XK5nkfiAWyGd3pEm", "proofs": [ "2f23CwtVDGZskA2m7opc8JyvDjncE2axCUFxsqPjNrZVUUJwtqMFtNtLwJEDaCgyM3AxzPr92mhXhsQSSi64QKX9" ], "script": "base64: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", "height": 2129142, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AKPdUQeZZYT9dLSz5UwqCb7jEY3ibnXR68DGsPqmJhWq Next: DGxmP9smFpAk59CCaD8tXhWrtPUw68uthKYCKrPQiFxB Diff:
OldNewDifferences
77
88 let c = "OPEN"
99
10-let d = "G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j"
10+let d = base58'G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j'
1111
12-let e = base58'G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j'
12+let e = 100000000
1313
14-let f = 100000000
14+let f = "status_"
1515
16-let g = "status_"
16+let g = "open_"
1717
18-let h = "open_"
18+let h = "_total_yes"
1919
20-let i = "_total_yes"
20+let i = "_total_no"
2121
22-let j = "_total_no"
22+let j = "repayment_"
2323
24-let k = "repayment_"
25-
26-func l (m) = (g + m)
24+func k (l) = (f + l)
2725
2826
29-func n (m) = (h + m)
27+func m (l) = (g + l)
3028
3129
32-func o (m) = (m + i)
30+func n (l) = (l + h)
3331
3432
35-func p (m) = (m + j)
33+func o (l) = (l + i)
3634
3735
38-func q (m) = {
39- let r = l(m)
40- let s = getString(this, r)
41- s
36+func p (l) = {
37+ let q = k(l)
38+ let r = getString(this, q)
39+ r
4240 }
4341
4442
45-func t (m,u) = (((k + m) + "_") + toString(u))
43+func s (l,t) = (((j + l) + "_") + toString(t))
4644
4745
48-func v (m) = {
49- let w = {
50- let x = getInteger(this, n(m))
51- if ($isInstanceOf(x, "Int"))
46+func u (l) = {
47+ let v = {
48+ let w = getInteger(this, m(l))
49+ if ($isInstanceOf(w, "Int"))
5250 then {
53- let y = x
54- y
51+ let x = w
52+ x
5553 }
5654 else -1
5755 }
58- w
56+ v
5957 }
6058
6159
62-func z (m,u) = {
63- let A = t(m, u)
64- let w = {
65- let x = getInteger(this, A)
66- if ($isInstanceOf(x, "Int"))
60+func y (l,t) = {
61+ let z = s(l, t)
62+ let v = {
63+ let w = getInteger(this, z)
64+ if ($isInstanceOf(w, "Int"))
6765 then {
68- let y = x
69- y
66+ let x = w
67+ x
7068 }
7169 else -1
7270 }
73- w
71+ v
7472 }
7573
7674
77-@Callable(B)
78-func openVote (m) = {
79- let C = n(m)
80- let D = v(m)
81- if ((D != -1))
75+@Callable(A)
76+func openVote (l) = {
77+ let B = m(l)
78+ let C = u(l)
79+ if ((C != -1))
8280 then throw("Vote already ongoing for id!")
8381 else {
84- let r = l(m)
85-[StringEntry(r, c), IntegerEntry(C, height)]
82+ let q = k(l)
83+[StringEntry(q, c), IntegerEntry(B, height)]
8684 }
8785 }
8886
8987
9088
91-@Callable(B)
92-func closeVote (m) = {
93- let E = v(m)
94- if ((E == -1))
89+@Callable(A)
90+func closeVote (l) = {
91+ let D = u(l)
92+ if ((D == -1))
9593 then throw("No vote found for id!")
96- else if (((E + a) > height))
94+ else if (((D + a) > height))
9795 then throw("Vote can not be closed yet!")
9896 else {
99- let r = l(m)
100-[StringEntry(r, b)]
97+ let q = k(l)
98+[StringEntry(q, b)]
10199 }
102100 }
103101
104102
105103
106-@Callable(B)
107-func claim (m) = {
108- let F = v(m)
109- if ((F == -1))
104+@Callable(A)
105+func claim (l) = {
106+ let E = u(l)
107+ if ((E == -1))
110108 then throw("No vote started for this id!")
111- else if (((F + a) >= height))
109+ else if (((E + a) >= height))
112110 then throw("You can only claim after vote ends!")
113111 else {
114- let G = B.caller
115- let H = z(m, G)
116- let r = l(m)
117- let A = t(m, G)
118- if ((H > 0))
119- then [ScriptTransfer(G, H, e), StringEntry(r, b), IntegerEntry(A, 0)]
112+ let F = A.caller
113+ let G = y(l, F)
114+ let q = k(l)
115+ let z = s(l, F)
116+ if ((G > 0))
117+ then [ScriptTransfer(F, G, d), StringEntry(q, b), IntegerEntry(z, 0)]
120118 else throw("Nothing to claim!")
121119 }
122120 }
123121
124122
125123
126-@Callable(B)
127-func vote (m,I) = if ((size(B.payments) != 1))
124+@Callable(A)
125+func vote (l,H) = if ((size(A.payments) != 1))
128126 then throw("One payment in DZY needs to be attached")
129127 else {
130- let J = value(B.payments[0])
131- let G = B.caller
132- let K = J.amount
133- if (!(isDefined(J.assetId)))
128+ let I = value(A.payments[0])
129+ let F = A.caller
130+ let J = I.amount
131+ if (!(isDefined(I.assetId)))
134132 then throw("Payment in Waves not allowed!")
135133 else {
136- let L = toBase58String(value(J.assetId))
137- if ((z(m, G) != -1))
134+ let K = toBase58String(value(I.assetId))
135+ if ((y(l, F) != -1))
138136 then throw("Only one vote per id per address!")
139- else if ((L != d))
137+ else if ((K != toBase58String(d)))
140138 then throw("payment in DZY necessary!")
141- else if ((K != f))
139+ else if ((J != e))
142140 then throw("payment amount wrong!")
143141 else {
144- let A = t(m, G)
145- let M = q(m)
146- if ((M == b))
142+ let z = s(l, F)
143+ let L = p(l)
144+ if ((L == b))
147145 then throw("vote closed!")
148146 else {
149- let N = {
150- let x = getInteger(this, n(m))
151- if ($isInstanceOf(x, "Int"))
147+ let M = {
148+ let w = getInteger(this, m(l))
149+ if ($isInstanceOf(w, "Int"))
152150 then {
153- let O = x
154- O
151+ let N = w
152+ N
155153 }
156154 else 0
157155 }
158- if ((height > (N + a)))
156+ if ((height > (M + a)))
159157 then throw("voting ended!")
160158 else {
161- let P = if ((I == "yes"))
159+ let O = if ((H == "yes"))
162160 then {
163- let Q = o(m)
164- let R = {
165- let x = getInteger(this, Q)
166- if ($isInstanceOf(x, "Int"))
161+ let P = n(l)
162+ let Q = {
163+ let w = getInteger(this, P)
164+ if ($isInstanceOf(w, "Int"))
167165 then {
168- let O = x
169- O
166+ let N = w
167+ N
170168 }
171169 else 0
172170 }
173- let S = (R + 1)
174-[IntegerEntry(Q, S), IntegerEntry(A, K)]
171+ let R = (Q + 1)
172+[IntegerEntry(P, R), IntegerEntry(z, J)]
175173 }
176- else if ((I == "no"))
174+ else if ((H == "no"))
177175 then {
178- let T = p(m)
179- let U = {
180- let x = getInteger(this, T)
181- if ($isInstanceOf(x, "Int"))
176+ let S = o(l)
177+ let T = {
178+ let w = getInteger(this, S)
179+ if ($isInstanceOf(w, "Int"))
182180 then {
183- let O = x
184- O
181+ let N = w
182+ N
185183 }
186184 else 0
187185 }
188- let V = (U + 1)
189-[IntegerEntry(T, V), IntegerEntry(A, K)]
186+ let U = (T + 1)
187+[IntegerEntry(S, U), IntegerEntry(z, J)]
190188 }
191189 else nil
192- P
190+ O
193191 }
194192 }
195193 }
197195 }
198196
199197
200-@Verifier(W)
201-func X () = sigVerify(W.bodyBytes, W.proofs[0], W.senderPublicKey)
198+@Verifier(V)
199+func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
202200
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100
55
66 let b = "CLOSED"
77
88 let c = "OPEN"
99
10-let d = "G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j"
10+let d = base58'G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j'
1111
12-let e = base58'G2Pb7CMztps7XEVGCiUuJkLiS3ZCo69APQNbJs2nz21j'
12+let e = 100000000
1313
14-let f = 100000000
14+let f = "status_"
1515
16-let g = "status_"
16+let g = "open_"
1717
18-let h = "open_"
18+let h = "_total_yes"
1919
20-let i = "_total_yes"
20+let i = "_total_no"
2121
22-let j = "_total_no"
22+let j = "repayment_"
2323
24-let k = "repayment_"
25-
26-func l (m) = (g + m)
24+func k (l) = (f + l)
2725
2826
29-func n (m) = (h + m)
27+func m (l) = (g + l)
3028
3129
32-func o (m) = (m + i)
30+func n (l) = (l + h)
3331
3432
35-func p (m) = (m + j)
33+func o (l) = (l + i)
3634
3735
38-func q (m) = {
39- let r = l(m)
40- let s = getString(this, r)
41- s
36+func p (l) = {
37+ let q = k(l)
38+ let r = getString(this, q)
39+ r
4240 }
4341
4442
45-func t (m,u) = (((k + m) + "_") + toString(u))
43+func s (l,t) = (((j + l) + "_") + toString(t))
4644
4745
48-func v (m) = {
49- let w = {
50- let x = getInteger(this, n(m))
51- if ($isInstanceOf(x, "Int"))
46+func u (l) = {
47+ let v = {
48+ let w = getInteger(this, m(l))
49+ if ($isInstanceOf(w, "Int"))
5250 then {
53- let y = x
54- y
51+ let x = w
52+ x
5553 }
5654 else -1
5755 }
58- w
56+ v
5957 }
6058
6159
62-func z (m,u) = {
63- let A = t(m, u)
64- let w = {
65- let x = getInteger(this, A)
66- if ($isInstanceOf(x, "Int"))
60+func y (l,t) = {
61+ let z = s(l, t)
62+ let v = {
63+ let w = getInteger(this, z)
64+ if ($isInstanceOf(w, "Int"))
6765 then {
68- let y = x
69- y
66+ let x = w
67+ x
7068 }
7169 else -1
7270 }
73- w
71+ v
7472 }
7573
7674
77-@Callable(B)
78-func openVote (m) = {
79- let C = n(m)
80- let D = v(m)
81- if ((D != -1))
75+@Callable(A)
76+func openVote (l) = {
77+ let B = m(l)
78+ let C = u(l)
79+ if ((C != -1))
8280 then throw("Vote already ongoing for id!")
8381 else {
84- let r = l(m)
85-[StringEntry(r, c), IntegerEntry(C, height)]
82+ let q = k(l)
83+[StringEntry(q, c), IntegerEntry(B, height)]
8684 }
8785 }
8886
8987
9088
91-@Callable(B)
92-func closeVote (m) = {
93- let E = v(m)
94- if ((E == -1))
89+@Callable(A)
90+func closeVote (l) = {
91+ let D = u(l)
92+ if ((D == -1))
9593 then throw("No vote found for id!")
96- else if (((E + a) > height))
94+ else if (((D + a) > height))
9795 then throw("Vote can not be closed yet!")
9896 else {
99- let r = l(m)
100-[StringEntry(r, b)]
97+ let q = k(l)
98+[StringEntry(q, b)]
10199 }
102100 }
103101
104102
105103
106-@Callable(B)
107-func claim (m) = {
108- let F = v(m)
109- if ((F == -1))
104+@Callable(A)
105+func claim (l) = {
106+ let E = u(l)
107+ if ((E == -1))
110108 then throw("No vote started for this id!")
111- else if (((F + a) >= height))
109+ else if (((E + a) >= height))
112110 then throw("You can only claim after vote ends!")
113111 else {
114- let G = B.caller
115- let H = z(m, G)
116- let r = l(m)
117- let A = t(m, G)
118- if ((H > 0))
119- then [ScriptTransfer(G, H, e), StringEntry(r, b), IntegerEntry(A, 0)]
112+ let F = A.caller
113+ let G = y(l, F)
114+ let q = k(l)
115+ let z = s(l, F)
116+ if ((G > 0))
117+ then [ScriptTransfer(F, G, d), StringEntry(q, b), IntegerEntry(z, 0)]
120118 else throw("Nothing to claim!")
121119 }
122120 }
123121
124122
125123
126-@Callable(B)
127-func vote (m,I) = if ((size(B.payments) != 1))
124+@Callable(A)
125+func vote (l,H) = if ((size(A.payments) != 1))
128126 then throw("One payment in DZY needs to be attached")
129127 else {
130- let J = value(B.payments[0])
131- let G = B.caller
132- let K = J.amount
133- if (!(isDefined(J.assetId)))
128+ let I = value(A.payments[0])
129+ let F = A.caller
130+ let J = I.amount
131+ if (!(isDefined(I.assetId)))
134132 then throw("Payment in Waves not allowed!")
135133 else {
136- let L = toBase58String(value(J.assetId))
137- if ((z(m, G) != -1))
134+ let K = toBase58String(value(I.assetId))
135+ if ((y(l, F) != -1))
138136 then throw("Only one vote per id per address!")
139- else if ((L != d))
137+ else if ((K != toBase58String(d)))
140138 then throw("payment in DZY necessary!")
141- else if ((K != f))
139+ else if ((J != e))
142140 then throw("payment amount wrong!")
143141 else {
144- let A = t(m, G)
145- let M = q(m)
146- if ((M == b))
142+ let z = s(l, F)
143+ let L = p(l)
144+ if ((L == b))
147145 then throw("vote closed!")
148146 else {
149- let N = {
150- let x = getInteger(this, n(m))
151- if ($isInstanceOf(x, "Int"))
147+ let M = {
148+ let w = getInteger(this, m(l))
149+ if ($isInstanceOf(w, "Int"))
152150 then {
153- let O = x
154- O
151+ let N = w
152+ N
155153 }
156154 else 0
157155 }
158- if ((height > (N + a)))
156+ if ((height > (M + a)))
159157 then throw("voting ended!")
160158 else {
161- let P = if ((I == "yes"))
159+ let O = if ((H == "yes"))
162160 then {
163- let Q = o(m)
164- let R = {
165- let x = getInteger(this, Q)
166- if ($isInstanceOf(x, "Int"))
161+ let P = n(l)
162+ let Q = {
163+ let w = getInteger(this, P)
164+ if ($isInstanceOf(w, "Int"))
167165 then {
168- let O = x
169- O
166+ let N = w
167+ N
170168 }
171169 else 0
172170 }
173- let S = (R + 1)
174-[IntegerEntry(Q, S), IntegerEntry(A, K)]
171+ let R = (Q + 1)
172+[IntegerEntry(P, R), IntegerEntry(z, J)]
175173 }
176- else if ((I == "no"))
174+ else if ((H == "no"))
177175 then {
178- let T = p(m)
179- let U = {
180- let x = getInteger(this, T)
181- if ($isInstanceOf(x, "Int"))
176+ let S = o(l)
177+ let T = {
178+ let w = getInteger(this, S)
179+ if ($isInstanceOf(w, "Int"))
182180 then {
183- let O = x
184- O
181+ let N = w
182+ N
185183 }
186184 else 0
187185 }
188- let V = (U + 1)
189-[IntegerEntry(T, V), IntegerEntry(A, K)]
186+ let U = (T + 1)
187+[IntegerEntry(S, U), IntegerEntry(z, J)]
190188 }
191189 else nil
192- P
190+ O
193191 }
194192 }
195193 }
196194 }
197195 }
198196
199197
200-@Verifier(W)
201-func X () = sigVerify(W.bodyBytes, W.proofs[0], W.senderPublicKey)
198+@Verifier(V)
199+func W () = sigVerify(V.bodyBytes, V.proofs[0], V.senderPublicKey)
202200

github/deemru/w8io/169f3d6 
87.61 ms