tx · 7ymi4VA8L6BBGzUEHZWwPCUYSdHywrG4wqYa36sz8Kn6

3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL:  -0.01800000 Waves

2022.06.01 15:17 [2077272] smart account 3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL > SELF 0.00000000 Waves

{ "type": 13, "id": "7ymi4VA8L6BBGzUEHZWwPCUYSdHywrG4wqYa36sz8Kn6", "fee": 1800000, "feeAssetId": null, "timestamp": 1654085838977, "version": 1, "sender": "3MyVvNfXht9piazyf1e5BVFsqv1R7z5cWJL", "senderPublicKey": "DnPyGWCgpQChvoQrnXQRcC9FtN32mPGrcog2wcKHdkVn", "proofs": [ "4QskA3Gd6Bfzt5HwYhf8PKx1V4qULLPoR5TTn1PRgRYYg1pAFgqXk3ofKD4Ce1VP9b1S2DPEPNBRXHRktVdXhse6" ], "script": "base64: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IGRlbmllZAQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAAJwawYFAAAAAnBkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0AwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMGBQAAAAJwZAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgAAAAoAAAABaQEAAAAKc2V0TWFuYWdlcgAAAAEAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAAlkAAAABBQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAAAAAAAAgUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5BQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADmNvbmZpcm1NYW5hZ2VyAAAAAAQAAAACcG0JAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAABWhhc1BNAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABJObyBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAABWhhc1BNBQAAAAVoYXNQTQQAAAAHY2hlY2tQTQMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQEAAAAFdmFsdWUAAAABBQAAAAJwbQYJAAACAAAAAQIAAAAbWW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAAAAAACBQAAAAdjaGVja1BNBQAAAAdjaGVja1BNCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAJwbQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABhnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHQAAAACAAAAC3VzZXJBZGRyZXNzAAAADHRhcmdldEhlaWdodAQAAAAXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAAMZ2V0U3RyT3JGYWlsAAAAAgUAAAAEdGhpcwUAAAATa2V5Qm9vc3RpbmdDb250cmFjdAIAAAAhaW52YWxpZCBib29zdGluZyBjb250cmFjdCBhZGRyZXNzCQAFFAAAAAIFAAAAA25pbAoAAAAAAUAJAAP8AAAABAUAAAAXYm9vc3RpbmdDb250cmFjdEFkZHJlc3MCAAAAIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAADHRhcmdldEhlaWdodAUAAAADbmlsBQAAAANuaWwDCQAAAQAAAAIFAAAAAUACAAAAA0ludAUAAAABQAkAAAIAAAABAgAAABhDb3VsZG4ndCBjYXN0IEFueSB0byBJbnQAAAABaQEAAAALY29uc3RydWN0b3IAAAADAAAAH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QAAAAQYm9vc3RpbmdDb250cmFjdAAAAAtlcG9jaExlbmd0aAQAAAAFY2hla3MJAARMAAAAAgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQkABEwAAAACAwkBAAAAAiE9AAAAAgkABCYAAAABBQAAAB92b3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0BQAAAAR1bml0BgIAAAAyaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY2FuZGlkYXRlIGNvbnRyYWN0IGFkZHJlc3MJAARMAAAAAgMJAQAAAAIhPQAAAAIJAAQmAAAAAQUAAAAQYm9vc3RpbmdDb250cmFjdAUAAAAEdW5pdAYCAAAAIWludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkABEwAAAACAwkAAGYAAAACBQAAAAtlcG9jaExlbmd0aAAAAAAAAAAAAAYJAAACAAAAAQIAAAAUaW52YWxpZCBlcG9jaCBsZW5ndGgFAAAAA25pbAMJAAAAAAAAAgUAAAAFY2hla3MFAAAABWNoZWtzCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAUAAAAfdm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABNrZXlCb29zdGluZ0NvbnRyYWN0BQAAABBib29zdGluZ0NvbnRyYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlFcG9jaExlbmd0aAUAAAALZXBvY2hMZW5ndGgFAAAAA25pbAUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAGY3JlYXRlAAAAAgAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAQAAAAGY2hlY2tzCQAETAAAAAIDCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAACJrZXlWb3RpbmdFbWlzc2lvbkNhbmRpZGF0ZUNvbnRyYWN0AgAAAAAGCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpBQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzBAAAAARwb29sCQAFFAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAQAAAANaW5MaXN0QWN0aW9ucwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkBAAAACWtleUluTGlzdAAAAAEFAAAABHBvb2wGBQAAAANuaWwEAAAAF3N0YXJ0SGVpZ2h0SXNOb3REZWZpbmVkCQAAAAAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAOa2V5U3RhcnRIZWlnaHQFAAAABHVuaXQEAAAAEnN0YXJ0SGVpZ2h0QWN0aW9ucwMFAAAAF3N0YXJ0SGVpZ2h0SXNOb3REZWZpbmVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlDdXJyZW50RXBvY2gAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVN0YXJ0SGVpZ2h0BQAAAAZoZWlnaHQFAAAAA25pbAUAAAADbmlsCQAFFAAAAAIJAAROAAAAAgUAAAANaW5MaXN0QWN0aW9ucwUAAAASc3RhcnRIZWlnaHRBY3Rpb25zBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAR2b3RlAAAAAwAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAAAAAVzaGFyZQQAAAAEcG9vbAkABRQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQEAAAAC3N0YXJ0SGVpZ2h0CQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwUAAAAOa2V5U3RhcnRIZWlnaHQEAAAAC2Vwb2NoTGVuZ3RoCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAEdGhpcwUAAAAOa2V5RXBvY2hMZW5ndGgEAAAACWVuZEhlaWdodAkAAGQAAAACBQAAAAtzdGFy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", "chainId": 84, "height": 2077272, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6gee9Wyas6LnQ3geZHBsiPxAP8auvDfivvZUZakMeV4i Next: AcP9fHThEBmPtsUuoQ7o4yrnxLXhSXkaAKGnc3jRNGvr Diff:
OldNewDifferences
77
88 let c = makeString(["%s", "epochLength"], a)
99
10-let d = makeString(["%s", "startHeight"], a)
10+let d = makeString(["%s", "currentEpoch"], a)
1111
12-let e = makeString(["%s", "votingEmissionCandidateContract"], a)
12+let e = makeString(["%s", "startHeight"], a)
1313
14-let f = makeString(["%s", "boostingContract"], a)
14+let f = makeString(["%s", "votingEmissionCandidateContract"], a)
1515
16-func g (h) = {
17- let i = h
18- let j = i._1
19- let k = i._2
20- makeString(["%s%s%s", "inList", j, k], a)
16+let g = makeString(["%s", "boostingContract"], a)
17+
18+func h (i) = {
19+ let j = i
20+ let k = j._1
21+ let l = j._2
22+ makeString(["%s%s%s", "inList", k, l], a)
2123 }
2224
2325
24-func l (m) = makeString(["%s%s", "shareUsed", toString(m)], a)
26+func m (n) = makeString(["%s%s", "shareUsed", toString(n)], a)
2527
2628
27-func n (m,h) = {
28- let o = h
29- let j = o._1
30- let k = o._2
31- makeString(["%s%s%s%s", "voteShare", j, k, toString(m)], a)
29+func o (n,i) = {
30+ let p = i
31+ let k = p._1
32+ let l = p._2
33+ makeString(["%s%s%s%s", "voteShare", k, l, toString(n)], a)
3234 }
3335
3436
35-func p (m,h) = {
36- let q = h
37- let j = q._1
38- let k = q._2
39- makeString(["%s%s%s%s", "voteGwx", j, k, toString(m)], a)
37+func q (i) = {
38+ let r = i
39+ let k = r._1
40+ let l = r._2
41+ makeString(["%s%s%s", "votingResult", k, l], a)
4042 }
4143
4244
43-func r (h) = {
44- let s = h
45- let j = s._1
46- let k = s._2
47- makeString(["%s%s%s", "votingResult", j, k], a)
45+func s (n,t,u) = {
46+ let v = makeString(["mandatory ", toString(n), ".", t, " is not defined"], "")
47+ valueOrErrorMessage({
48+ let w = u
49+ if ($isInstanceOf(w, "String"))
50+ then {
51+ let x = w
52+ getString(n, t)
53+ }
54+ else if ($isInstanceOf(w, "Int"))
55+ then {
56+ let y = w
57+ getInteger(n, t)
58+ }
59+ else throw("invalid entry type")
60+ }, v)
4861 }
4962
5063
51-func t (m,u,v) = {
52- let w = makeString(["mandatory ", toString(m), ".", u, " is not defined"], "")
53- valueOrErrorMessage({
54- let x = v
55- if ($isInstanceOf(x, "String"))
56- then {
57- let y = x
58- getString(m, u)
59- }
60- else if ($isInstanceOf(x, "Int"))
61- then {
62- let z = x
63- getInteger(m, u)
64- }
65- else throw("invalid entry type")
66- }, w)
67- }
68-
69-
70-func A (m,u) = {
71- let B = t(m, u, 0)
72- if ($isInstanceOf(B, "String"))
73- then B
64+func z (n,t) = {
65+ let A = s(n, t, "")
66+ if ($isInstanceOf(A, "String"))
67+ then A
7468 else throw("Couldn't cast Int|String to String")
7569 }
7670
7771
78-func C (m,u) = {
79- let B = t(m, u, 0)
80- if ($isInstanceOf(B, "String"))
81- then B
82- else unit
83- }
84-
85-
86-func D (m,u) = {
87- let B = t(m, u, 0)
88- if ($isInstanceOf(B, "Int"))
89- then B
72+func B (n,t) = {
73+ let A = s(n, t, 0)
74+ if ($isInstanceOf(A, "Int"))
75+ then A
9076 else throw("Couldn't cast Int|String to Int")
9177 }
9278
9379
94-func E (m,u) = {
95- let B = t(m, u, 0)
96- if ($isInstanceOf(B, "Int"))
97- then B
98- else unit
80+let C = "__pools"
81+
82+func D (i) = {
83+ let E = i
84+ let k = E._1
85+ let l = E._2
86+ makeString(["%s%s__votes", k, l], a)
9987 }
10088
10189
102-func F () = "%s__managerPublicKey"
90+func F (G) = makeString([("%s%s" + G), "head"], a)
10391
10492
105-func G () = "%s__pendingManagerPublicKey"
93+func H (G) = makeString([("%s%s" + G), "size"], a)
10694
10795
108-func H () = {
109- let x = getString(F())
110- if ($isInstanceOf(x, "String"))
96+func I (G,J) = makeString([("%s%s%s" + G), J, "prev"], a)
97+
98+
99+func K (G,J) = makeString([("%s%s%s" + G), J, "next"], a)
100+
101+
102+func L (G,J) = {
103+ let M = getString(this, F(G))
104+ let N = getString(this, I(G, J))
105+ let O = getString(this, K(G, J))
106+ if (if ((J == M))
107+ then true
108+ else (N != unit))
109+ then true
110+ else (O != unit)
111+ }
112+
113+
114+func P (G,J) = {
115+ let M = getString(this, F(G))
116+ let Q = valueOrElse(getInteger(this, H(G)), 0)
117+ let R = if (!(L(G, J)))
118+ then true
119+ else throw("Node exists")
120+ if ((R == R))
121+ then (([IntegerEntry(H(G), (Q + 1))] ++ (if (isDefined(M))
122+ then [StringEntry(K(G, J), value(M)), StringEntry(I(G, value(M)), J)]
123+ else nil)) ++ [StringEntry(F(G), J)])
124+ else throw("Strict value is not equal to itself.")
125+ }
126+
127+
128+func S (G,J) = {
129+ let M = getString(this, F(G))
130+ let Q = valueOrElse(getInteger(this, H(G)), 0)
131+ let N = getString(this, I(G, J))
132+ let O = getString(this, K(G, J))
133+ ([IntegerEntry(H(G), (Q - 1))] ++ (if (if (isDefined(N))
134+ then isDefined(O)
135+ else false)
136+ then [StringEntry(K(G, value(N)), value(O)), StringEntry(I(G, value(O)), value(N)), DeleteEntry(I(G, J)), DeleteEntry(K(G, J))]
137+ else if (isDefined(O))
138+ then [StringEntry(F(G), value(O)), DeleteEntry(K(G, J)), DeleteEntry(I(G, value(O)))]
139+ else if (isDefined(N))
140+ then [DeleteEntry(I(G, J)), DeleteEntry(K(G, value(N)))]
141+ else if ((J == M))
142+ then [DeleteEntry(F(G))]
143+ else throw("Invalid node")))
144+ }
145+
146+
147+func T () = "%s__managerPublicKey"
148+
149+
150+func U () = "%s__pendingManagerPublicKey"
151+
152+
153+func V () = {
154+ let w = getString(T())
155+ if ($isInstanceOf(w, "String"))
111156 then {
112- let I = x
113- fromBase58String(I)
157+ let W = w
158+ fromBase58String(W)
114159 }
115- else if ($isInstanceOf(x, "Unit"))
160+ else if ($isInstanceOf(w, "Unit"))
116161 then unit
117162 else throw("Match error")
118163 }
119164
120165
121-func J () = {
122- let x = getString(G())
123- if ($isInstanceOf(x, "String"))
166+func X () = {
167+ let w = getString(U())
168+ if ($isInstanceOf(w, "String"))
124169 then {
125- let I = x
126- fromBase58String(I)
170+ let W = w
171+ fromBase58String(W)
127172 }
128- else if ($isInstanceOf(x, "Unit"))
173+ else if ($isInstanceOf(w, "Unit"))
129174 then unit
130175 else throw("Match error")
131176 }
132177
133178
134-func K (L) = {
135- let M = throw("Permission denied")
136- let x = H()
137- if ($isInstanceOf(x, "ByteVector"))
179+func Y (Z) = {
180+ let aa = throw("Permission denied")
181+ let w = V()
182+ if ($isInstanceOf(w, "ByteVector"))
138183 then {
139- let N = x
140- if ((L.callerPublicKey == N))
184+ let ab = w
185+ if ((Z.callerPublicKey == ab))
141186 then true
142- else M
187+ else aa
143188 }
144- else if ($isInstanceOf(x, "Unit"))
145- then if ((L.caller == this))
189+ else if ($isInstanceOf(w, "Unit"))
190+ then if ((Z.caller == this))
146191 then true
147- else M
192+ else aa
148193 else throw("Match error")
149194 }
150195
151196
152-@Callable(L)
153-func setManager (O) = {
154- let P = K(L)
155- if ((P == P))
197+@Callable(Z)
198+func setManager (ac) = {
199+ let ad = Y(Z)
200+ if ((ad == ad))
156201 then {
157- let Q = fromBase58String(O)
158- if ((Q == Q))
159- then [StringEntry(G(), O)]
202+ let ae = fromBase58String(ac)
203+ if ((ae == ae))
204+ then [StringEntry(U(), ac)]
160205 else throw("Strict value is not equal to itself.")
161206 }
162207 else throw("Strict value is not equal to itself.")
164209
165210
166211
167-@Callable(L)
212+@Callable(Z)
168213 func confirmManager () = {
169- let R = J()
170- let S = if (isDefined(R))
214+ let af = X()
215+ let ag = if (isDefined(af))
171216 then true
172217 else throw("No pending manager")
173- if ((S == S))
218+ if ((ag == ag))
174219 then {
175- let T = if ((L.callerPublicKey == value(R)))
220+ let ah = if ((Z.callerPublicKey == value(af)))
176221 then true
177222 else throw("You are not pending manager")
178- if ((T == T))
179- then [StringEntry(F(), toBase58String(value(R))), DeleteEntry(G())]
223+ if ((ah == ah))
224+ then [StringEntry(T(), toBase58String(value(af))), DeleteEntry(U())]
180225 else throw("Strict value is not equal to itself.")
181226 }
182227 else throw("Strict value is not equal to itself.")
184229
185230
186231
187-@Callable(L)
188-func getUserGwxAmountAtHeight (U,V) = {
189- let W = valueOrErrorMessage(addressFromString(A(this, f)), "invalid boosting contract address")
232+@Callable(Z)
233+func getUserGwxAmountAtHeight (ai,aj) = {
234+ let ak = valueOrErrorMessage(addressFromString(z(this, g)), "invalid boosting contract address")
190235 $Tuple2(nil, {
191- let B = invoke(W, "getUserGwxAmountAtHeightREADONLY", [U, V], nil)
192- if ($isInstanceOf(B, "Int"))
193- then B
236+ let A = invoke(ak, "getUserGwxAmountAtHeightREADONLY", [ai, aj], nil)
237+ if ($isInstanceOf(A, "Int"))
238+ then A
194239 else throw("Couldn't cast Any to Int")
195240 })
196241 }
197242
198243
199244
200-@Callable(L)
201-func constructor (X,Y,Z) = {
202- let aa = [K(L), if ((addressFromString(X) != unit))
245+@Callable(Z)
246+func constructor (al,am,an) = {
247+ let ao = [Y(Z), if ((addressFromString(al) != unit))
203248 then true
204- else "invalid voting emission candidate contract address", if ((addressFromString(Y) != unit))
249+ else "invalid voting emission candidate contract address", if ((addressFromString(am) != unit))
205250 then true
206- else "invalid boosting contract address", if ((Z > 0))
251+ else "invalid boosting contract address", if ((an > 0))
207252 then true
208253 else throw("invalid epoch length")]
209- if ((aa == aa))
210- then $Tuple2([StringEntry(e, X), StringEntry(f, Y), IntegerEntry(c, Z)], unit)
254+ if ((ao == ao))
255+ then $Tuple2([StringEntry(f, al), StringEntry(g, am), IntegerEntry(c, an)], unit)
211256 else throw("Strict value is not equal to itself.")
212257 }
213258
214259
215260
216-@Callable(L)
217-func create (j,k) = {
218- let ab = [if ((toBase58String(L.caller.bytes) == valueOrElse(getString(this, e), "")))
261+@Callable(Z)
262+func create (k,l) = {
263+ let ap = [if ((toBase58String(Z.caller.bytes) == valueOrElse(getString(this, f), "")))
219264 then true
220- else K(L)]
221- if ((ab == ab))
265+ else Y(Z)]
266+ if ((ap == ap))
222267 then {
223- let h = $Tuple2(j, k)
224- let ac = [BooleanEntry(g(h), true)]
225- let ad = (getString(this, d) == unit)
226- let ae = if (ad)
227- then [IntegerEntry(d, height)]
268+ let i = $Tuple2(k, l)
269+ let aq = [BooleanEntry(h(i), true)]
270+ let ar = (getString(this, e) == unit)
271+ let as = if (ar)
272+ then [IntegerEntry(d, 0), IntegerEntry(e, height)]
228273 else nil
229- $Tuple2((ac ++ ae), unit)
274+ $Tuple2((aq ++ as), unit)
230275 }
231276 else throw("Strict value is not equal to itself.")
232277 }
233278
234279
235280
236-@Callable(L)
237-func vote (j,k,af) = {
238- let h = $Tuple2(j, k)
239- let ag = D(this, d)
240- let Z = D(this, c)
241- let ah = (ag + Z)
242- let ai = valueOrElse(E(this, l(L.caller)), 0)
243- let aj = valueOrElse(E(this, n(L.caller, h)), 0)
244- let ak = (b - ai)
245- let al = (aj + af)
246- let am = {
247- let B = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(L.caller.bytes), ah], nil)
248- if ($isInstanceOf(B, "Int"))
249- then B
281+@Callable(Z)
282+func vote (k,l,at) = {
283+ let i = $Tuple2(k, l)
284+ let au = B(this, e)
285+ let an = B(this, c)
286+ let av = (au + an)
287+ let aw = valueOrElse(getInteger(this, m(Z.caller)), 0)
288+ let ax = valueOrElse(getInteger(this, o(Z.caller, i)), 0)
289+ let ay = (b - aw)
290+ let az = (ax + at)
291+ let aA = {
292+ let A = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(Z.caller.bytes), av], nil)
293+ if ($isInstanceOf(A, "Int"))
294+ then A
250295 else throw("Couldn't cast Any to Int")
251296 }
252- let an = fraction(am, al, b)
253- let ab = [if ((getBoolean(g(h)) != unit))
297+ let aB = fraction(aA, az, b)
298+ let ap = [if ((getBoolean(h(i)) != unit))
254299 then true
255- else throw("invalid assets"), if ((ah > height))
300+ else throw("invalid assets"), if ((av > height))
256301 then true
257- else throw("invalid height"), if ((an > 0))
302+ else throw("invalid height"), if ((aB > 0))
258303 then true
259- else throw("you do not have gWX"), if (if ((af > 0))
260- then (ak >= af)
304+ else throw("you do not have gWX"), if (if ((at > 0))
305+ then (ay >= at)
261306 else false)
262307 then true
263308 else throw("invalid share")]
264- if ((ab == ab))
265- then $Tuple2([IntegerEntry(l(L.caller), (ai + af)), IntegerEntry(n(L.caller, h), al), IntegerEntry(p(L.caller, h), an)], unit)
309+ if ((ap == ap))
310+ then $Tuple2([IntegerEntry(m(Z.caller), (aw + at)), IntegerEntry(o(Z.caller, i), az)], unit)
266311 else throw("Strict value is not equal to itself.")
267312 }
268313
269314
270315
271-@Callable(L)
272-func cancelVote (j,k) = {
273- let h = $Tuple2(j, k)
274- let ag = D(this, d)
275- let Z = D(this, c)
276- let ah = (ag + Z)
277- let aj = valueOrElse(E(this, n(L.caller, h)), 0)
278- let ai = valueOrElse(E(this, l(L.caller)), 0)
279- let ab = [if ((getBoolean(g(h)) != unit))
316+@Callable(Z)
317+func cancelVote (k,l) = {
318+ let i = $Tuple2(k, l)
319+ let au = B(this, e)
320+ let an = B(this, c)
321+ let av = (au + an)
322+ let ax = valueOrElse(getInteger(this, o(Z.caller, i)), 0)
323+ let aw = valueOrElse(getInteger(this, m(Z.caller)), 0)
324+ let ap = [if ((getBoolean(h(i)) != unit))
280325 then true
281- else throw("invalid assets"), if ((ah > height))
326+ else throw("invalid assets"), if ((av > height))
282327 then true
283- else throw("invalid height"), if ((aj > 0))
328+ else throw("invalid height"), if ((ax > 0))
284329 then true
285330 else throw("no vote")]
286- if ((ab == ab))
287- then $Tuple2([IntegerEntry(l(L.caller), max([(ai - aj), 0])), DeleteEntry(n(L.caller, h)), DeleteEntry(p(L.caller, h))], unit)
331+ if ((ap == ap))
332+ then $Tuple2([IntegerEntry(m(Z.caller), max([(aw - ax), 0])), DeleteEntry(o(Z.caller, i))], unit)
288333 else throw("Strict value is not equal to itself.")
289334 }
290335
291336
292337
293-@Callable(L)
294-func setEpochLength (ao) = {
295- let aa = [K(L), if ((ao > 0))
338+@Callable(Z)
339+func setEpochLength (aC) = {
340+ let ao = [Y(Z), if ((aC > 0))
296341 then true
297342 else throw("invalid epoch length")]
298- if ((aa == aa))
299- then $Tuple2([IntegerEntry(c, ao)], unit)
343+ if ((ao == ao))
344+ then $Tuple2([IntegerEntry(c, aC)], unit)
300345 else throw("Strict value is not equal to itself.")
301346 }
302347
303348
304349
305-@Callable(L)
350+@Callable(Z)
306351 func finalize () = $Tuple2(nil, unit)
307352
308353
309354
310-@Callable(L)
311-func onVerificationLoss (ap) = $Tuple2(nil, unit)
355+@Callable(Z)
356+func onVerificationLoss (aD) = $Tuple2(nil, unit)
312357
313358
314-@Verifier(aq)
315-func ar () = {
316- let as = {
317- let x = H()
318- if ($isInstanceOf(x, "ByteVector"))
359+@Verifier(aE)
360+func aF () = {
361+ let aG = {
362+ let w = V()
363+ if ($isInstanceOf(w, "ByteVector"))
319364 then {
320- let N = x
321- N
365+ let ab = w
366+ ab
322367 }
323- else if ($isInstanceOf(x, "Unit"))
324- then aq.senderPublicKey
368+ else if ($isInstanceOf(w, "Unit"))
369+ then aE.senderPublicKey
325370 else throw("Match error")
326371 }
327- sigVerify(aq.bodyBytes, aq.proofs[0], as)
372+ sigVerify(aE.bodyBytes, aE.proofs[0], aG)
328373 }
329374
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 100
77
88 let c = makeString(["%s", "epochLength"], a)
99
10-let d = makeString(["%s", "startHeight"], a)
10+let d = makeString(["%s", "currentEpoch"], a)
1111
12-let e = makeString(["%s", "votingEmissionCandidateContract"], a)
12+let e = makeString(["%s", "startHeight"], a)
1313
14-let f = makeString(["%s", "boostingContract"], a)
14+let f = makeString(["%s", "votingEmissionCandidateContract"], a)
1515
16-func g (h) = {
17- let i = h
18- let j = i._1
19- let k = i._2
20- makeString(["%s%s%s", "inList", j, k], a)
16+let g = makeString(["%s", "boostingContract"], a)
17+
18+func h (i) = {
19+ let j = i
20+ let k = j._1
21+ let l = j._2
22+ makeString(["%s%s%s", "inList", k, l], a)
2123 }
2224
2325
24-func l (m) = makeString(["%s%s", "shareUsed", toString(m)], a)
26+func m (n) = makeString(["%s%s", "shareUsed", toString(n)], a)
2527
2628
27-func n (m,h) = {
28- let o = h
29- let j = o._1
30- let k = o._2
31- makeString(["%s%s%s%s", "voteShare", j, k, toString(m)], a)
29+func o (n,i) = {
30+ let p = i
31+ let k = p._1
32+ let l = p._2
33+ makeString(["%s%s%s%s", "voteShare", k, l, toString(n)], a)
3234 }
3335
3436
35-func p (m,h) = {
36- let q = h
37- let j = q._1
38- let k = q._2
39- makeString(["%s%s%s%s", "voteGwx", j, k, toString(m)], a)
37+func q (i) = {
38+ let r = i
39+ let k = r._1
40+ let l = r._2
41+ makeString(["%s%s%s", "votingResult", k, l], a)
4042 }
4143
4244
43-func r (h) = {
44- let s = h
45- let j = s._1
46- let k = s._2
47- makeString(["%s%s%s", "votingResult", j, k], a)
45+func s (n,t,u) = {
46+ let v = makeString(["mandatory ", toString(n), ".", t, " is not defined"], "")
47+ valueOrErrorMessage({
48+ let w = u
49+ if ($isInstanceOf(w, "String"))
50+ then {
51+ let x = w
52+ getString(n, t)
53+ }
54+ else if ($isInstanceOf(w, "Int"))
55+ then {
56+ let y = w
57+ getInteger(n, t)
58+ }
59+ else throw("invalid entry type")
60+ }, v)
4861 }
4962
5063
51-func t (m,u,v) = {
52- let w = makeString(["mandatory ", toString(m), ".", u, " is not defined"], "")
53- valueOrErrorMessage({
54- let x = v
55- if ($isInstanceOf(x, "String"))
56- then {
57- let y = x
58- getString(m, u)
59- }
60- else if ($isInstanceOf(x, "Int"))
61- then {
62- let z = x
63- getInteger(m, u)
64- }
65- else throw("invalid entry type")
66- }, w)
67- }
68-
69-
70-func A (m,u) = {
71- let B = t(m, u, 0)
72- if ($isInstanceOf(B, "String"))
73- then B
64+func z (n,t) = {
65+ let A = s(n, t, "")
66+ if ($isInstanceOf(A, "String"))
67+ then A
7468 else throw("Couldn't cast Int|String to String")
7569 }
7670
7771
78-func C (m,u) = {
79- let B = t(m, u, 0)
80- if ($isInstanceOf(B, "String"))
81- then B
82- else unit
83- }
84-
85-
86-func D (m,u) = {
87- let B = t(m, u, 0)
88- if ($isInstanceOf(B, "Int"))
89- then B
72+func B (n,t) = {
73+ let A = s(n, t, 0)
74+ if ($isInstanceOf(A, "Int"))
75+ then A
9076 else throw("Couldn't cast Int|String to Int")
9177 }
9278
9379
94-func E (m,u) = {
95- let B = t(m, u, 0)
96- if ($isInstanceOf(B, "Int"))
97- then B
98- else unit
80+let C = "__pools"
81+
82+func D (i) = {
83+ let E = i
84+ let k = E._1
85+ let l = E._2
86+ makeString(["%s%s__votes", k, l], a)
9987 }
10088
10189
102-func F () = "%s__managerPublicKey"
90+func F (G) = makeString([("%s%s" + G), "head"], a)
10391
10492
105-func G () = "%s__pendingManagerPublicKey"
93+func H (G) = makeString([("%s%s" + G), "size"], a)
10694
10795
108-func H () = {
109- let x = getString(F())
110- if ($isInstanceOf(x, "String"))
96+func I (G,J) = makeString([("%s%s%s" + G), J, "prev"], a)
97+
98+
99+func K (G,J) = makeString([("%s%s%s" + G), J, "next"], a)
100+
101+
102+func L (G,J) = {
103+ let M = getString(this, F(G))
104+ let N = getString(this, I(G, J))
105+ let O = getString(this, K(G, J))
106+ if (if ((J == M))
107+ then true
108+ else (N != unit))
109+ then true
110+ else (O != unit)
111+ }
112+
113+
114+func P (G,J) = {
115+ let M = getString(this, F(G))
116+ let Q = valueOrElse(getInteger(this, H(G)), 0)
117+ let R = if (!(L(G, J)))
118+ then true
119+ else throw("Node exists")
120+ if ((R == R))
121+ then (([IntegerEntry(H(G), (Q + 1))] ++ (if (isDefined(M))
122+ then [StringEntry(K(G, J), value(M)), StringEntry(I(G, value(M)), J)]
123+ else nil)) ++ [StringEntry(F(G), J)])
124+ else throw("Strict value is not equal to itself.")
125+ }
126+
127+
128+func S (G,J) = {
129+ let M = getString(this, F(G))
130+ let Q = valueOrElse(getInteger(this, H(G)), 0)
131+ let N = getString(this, I(G, J))
132+ let O = getString(this, K(G, J))
133+ ([IntegerEntry(H(G), (Q - 1))] ++ (if (if (isDefined(N))
134+ then isDefined(O)
135+ else false)
136+ then [StringEntry(K(G, value(N)), value(O)), StringEntry(I(G, value(O)), value(N)), DeleteEntry(I(G, J)), DeleteEntry(K(G, J))]
137+ else if (isDefined(O))
138+ then [StringEntry(F(G), value(O)), DeleteEntry(K(G, J)), DeleteEntry(I(G, value(O)))]
139+ else if (isDefined(N))
140+ then [DeleteEntry(I(G, J)), DeleteEntry(K(G, value(N)))]
141+ else if ((J == M))
142+ then [DeleteEntry(F(G))]
143+ else throw("Invalid node")))
144+ }
145+
146+
147+func T () = "%s__managerPublicKey"
148+
149+
150+func U () = "%s__pendingManagerPublicKey"
151+
152+
153+func V () = {
154+ let w = getString(T())
155+ if ($isInstanceOf(w, "String"))
111156 then {
112- let I = x
113- fromBase58String(I)
157+ let W = w
158+ fromBase58String(W)
114159 }
115- else if ($isInstanceOf(x, "Unit"))
160+ else if ($isInstanceOf(w, "Unit"))
116161 then unit
117162 else throw("Match error")
118163 }
119164
120165
121-func J () = {
122- let x = getString(G())
123- if ($isInstanceOf(x, "String"))
166+func X () = {
167+ let w = getString(U())
168+ if ($isInstanceOf(w, "String"))
124169 then {
125- let I = x
126- fromBase58String(I)
170+ let W = w
171+ fromBase58String(W)
127172 }
128- else if ($isInstanceOf(x, "Unit"))
173+ else if ($isInstanceOf(w, "Unit"))
129174 then unit
130175 else throw("Match error")
131176 }
132177
133178
134-func K (L) = {
135- let M = throw("Permission denied")
136- let x = H()
137- if ($isInstanceOf(x, "ByteVector"))
179+func Y (Z) = {
180+ let aa = throw("Permission denied")
181+ let w = V()
182+ if ($isInstanceOf(w, "ByteVector"))
138183 then {
139- let N = x
140- if ((L.callerPublicKey == N))
184+ let ab = w
185+ if ((Z.callerPublicKey == ab))
141186 then true
142- else M
187+ else aa
143188 }
144- else if ($isInstanceOf(x, "Unit"))
145- then if ((L.caller == this))
189+ else if ($isInstanceOf(w, "Unit"))
190+ then if ((Z.caller == this))
146191 then true
147- else M
192+ else aa
148193 else throw("Match error")
149194 }
150195
151196
152-@Callable(L)
153-func setManager (O) = {
154- let P = K(L)
155- if ((P == P))
197+@Callable(Z)
198+func setManager (ac) = {
199+ let ad = Y(Z)
200+ if ((ad == ad))
156201 then {
157- let Q = fromBase58String(O)
158- if ((Q == Q))
159- then [StringEntry(G(), O)]
202+ let ae = fromBase58String(ac)
203+ if ((ae == ae))
204+ then [StringEntry(U(), ac)]
160205 else throw("Strict value is not equal to itself.")
161206 }
162207 else throw("Strict value is not equal to itself.")
163208 }
164209
165210
166211
167-@Callable(L)
212+@Callable(Z)
168213 func confirmManager () = {
169- let R = J()
170- let S = if (isDefined(R))
214+ let af = X()
215+ let ag = if (isDefined(af))
171216 then true
172217 else throw("No pending manager")
173- if ((S == S))
218+ if ((ag == ag))
174219 then {
175- let T = if ((L.callerPublicKey == value(R)))
220+ let ah = if ((Z.callerPublicKey == value(af)))
176221 then true
177222 else throw("You are not pending manager")
178- if ((T == T))
179- then [StringEntry(F(), toBase58String(value(R))), DeleteEntry(G())]
223+ if ((ah == ah))
224+ then [StringEntry(T(), toBase58String(value(af))), DeleteEntry(U())]
180225 else throw("Strict value is not equal to itself.")
181226 }
182227 else throw("Strict value is not equal to itself.")
183228 }
184229
185230
186231
187-@Callable(L)
188-func getUserGwxAmountAtHeight (U,V) = {
189- let W = valueOrErrorMessage(addressFromString(A(this, f)), "invalid boosting contract address")
232+@Callable(Z)
233+func getUserGwxAmountAtHeight (ai,aj) = {
234+ let ak = valueOrErrorMessage(addressFromString(z(this, g)), "invalid boosting contract address")
190235 $Tuple2(nil, {
191- let B = invoke(W, "getUserGwxAmountAtHeightREADONLY", [U, V], nil)
192- if ($isInstanceOf(B, "Int"))
193- then B
236+ let A = invoke(ak, "getUserGwxAmountAtHeightREADONLY", [ai, aj], nil)
237+ if ($isInstanceOf(A, "Int"))
238+ then A
194239 else throw("Couldn't cast Any to Int")
195240 })
196241 }
197242
198243
199244
200-@Callable(L)
201-func constructor (X,Y,Z) = {
202- let aa = [K(L), if ((addressFromString(X) != unit))
245+@Callable(Z)
246+func constructor (al,am,an) = {
247+ let ao = [Y(Z), if ((addressFromString(al) != unit))
203248 then true
204- else "invalid voting emission candidate contract address", if ((addressFromString(Y) != unit))
249+ else "invalid voting emission candidate contract address", if ((addressFromString(am) != unit))
205250 then true
206- else "invalid boosting contract address", if ((Z > 0))
251+ else "invalid boosting contract address", if ((an > 0))
207252 then true
208253 else throw("invalid epoch length")]
209- if ((aa == aa))
210- then $Tuple2([StringEntry(e, X), StringEntry(f, Y), IntegerEntry(c, Z)], unit)
254+ if ((ao == ao))
255+ then $Tuple2([StringEntry(f, al), StringEntry(g, am), IntegerEntry(c, an)], unit)
211256 else throw("Strict value is not equal to itself.")
212257 }
213258
214259
215260
216-@Callable(L)
217-func create (j,k) = {
218- let ab = [if ((toBase58String(L.caller.bytes) == valueOrElse(getString(this, e), "")))
261+@Callable(Z)
262+func create (k,l) = {
263+ let ap = [if ((toBase58String(Z.caller.bytes) == valueOrElse(getString(this, f), "")))
219264 then true
220- else K(L)]
221- if ((ab == ab))
265+ else Y(Z)]
266+ if ((ap == ap))
222267 then {
223- let h = $Tuple2(j, k)
224- let ac = [BooleanEntry(g(h), true)]
225- let ad = (getString(this, d) == unit)
226- let ae = if (ad)
227- then [IntegerEntry(d, height)]
268+ let i = $Tuple2(k, l)
269+ let aq = [BooleanEntry(h(i), true)]
270+ let ar = (getString(this, e) == unit)
271+ let as = if (ar)
272+ then [IntegerEntry(d, 0), IntegerEntry(e, height)]
228273 else nil
229- $Tuple2((ac ++ ae), unit)
274+ $Tuple2((aq ++ as), unit)
230275 }
231276 else throw("Strict value is not equal to itself.")
232277 }
233278
234279
235280
236-@Callable(L)
237-func vote (j,k,af) = {
238- let h = $Tuple2(j, k)
239- let ag = D(this, d)
240- let Z = D(this, c)
241- let ah = (ag + Z)
242- let ai = valueOrElse(E(this, l(L.caller)), 0)
243- let aj = valueOrElse(E(this, n(L.caller, h)), 0)
244- let ak = (b - ai)
245- let al = (aj + af)
246- let am = {
247- let B = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(L.caller.bytes), ah], nil)
248- if ($isInstanceOf(B, "Int"))
249- then B
281+@Callable(Z)
282+func vote (k,l,at) = {
283+ let i = $Tuple2(k, l)
284+ let au = B(this, e)
285+ let an = B(this, c)
286+ let av = (au + an)
287+ let aw = valueOrElse(getInteger(this, m(Z.caller)), 0)
288+ let ax = valueOrElse(getInteger(this, o(Z.caller, i)), 0)
289+ let ay = (b - aw)
290+ let az = (ax + at)
291+ let aA = {
292+ let A = invoke(this, "getUserGwxAmountAtHeight", [toBase58String(Z.caller.bytes), av], nil)
293+ if ($isInstanceOf(A, "Int"))
294+ then A
250295 else throw("Couldn't cast Any to Int")
251296 }
252- let an = fraction(am, al, b)
253- let ab = [if ((getBoolean(g(h)) != unit))
297+ let aB = fraction(aA, az, b)
298+ let ap = [if ((getBoolean(h(i)) != unit))
254299 then true
255- else throw("invalid assets"), if ((ah > height))
300+ else throw("invalid assets"), if ((av > height))
256301 then true
257- else throw("invalid height"), if ((an > 0))
302+ else throw("invalid height"), if ((aB > 0))
258303 then true
259- else throw("you do not have gWX"), if (if ((af > 0))
260- then (ak >= af)
304+ else throw("you do not have gWX"), if (if ((at > 0))
305+ then (ay >= at)
261306 else false)
262307 then true
263308 else throw("invalid share")]
264- if ((ab == ab))
265- then $Tuple2([IntegerEntry(l(L.caller), (ai + af)), IntegerEntry(n(L.caller, h), al), IntegerEntry(p(L.caller, h), an)], unit)
309+ if ((ap == ap))
310+ then $Tuple2([IntegerEntry(m(Z.caller), (aw + at)), IntegerEntry(o(Z.caller, i), az)], unit)
266311 else throw("Strict value is not equal to itself.")
267312 }
268313
269314
270315
271-@Callable(L)
272-func cancelVote (j,k) = {
273- let h = $Tuple2(j, k)
274- let ag = D(this, d)
275- let Z = D(this, c)
276- let ah = (ag + Z)
277- let aj = valueOrElse(E(this, n(L.caller, h)), 0)
278- let ai = valueOrElse(E(this, l(L.caller)), 0)
279- let ab = [if ((getBoolean(g(h)) != unit))
316+@Callable(Z)
317+func cancelVote (k,l) = {
318+ let i = $Tuple2(k, l)
319+ let au = B(this, e)
320+ let an = B(this, c)
321+ let av = (au + an)
322+ let ax = valueOrElse(getInteger(this, o(Z.caller, i)), 0)
323+ let aw = valueOrElse(getInteger(this, m(Z.caller)), 0)
324+ let ap = [if ((getBoolean(h(i)) != unit))
280325 then true
281- else throw("invalid assets"), if ((ah > height))
326+ else throw("invalid assets"), if ((av > height))
282327 then true
283- else throw("invalid height"), if ((aj > 0))
328+ else throw("invalid height"), if ((ax > 0))
284329 then true
285330 else throw("no vote")]
286- if ((ab == ab))
287- then $Tuple2([IntegerEntry(l(L.caller), max([(ai - aj), 0])), DeleteEntry(n(L.caller, h)), DeleteEntry(p(L.caller, h))], unit)
331+ if ((ap == ap))
332+ then $Tuple2([IntegerEntry(m(Z.caller), max([(aw - ax), 0])), DeleteEntry(o(Z.caller, i))], unit)
288333 else throw("Strict value is not equal to itself.")
289334 }
290335
291336
292337
293-@Callable(L)
294-func setEpochLength (ao) = {
295- let aa = [K(L), if ((ao > 0))
338+@Callable(Z)
339+func setEpochLength (aC) = {
340+ let ao = [Y(Z), if ((aC > 0))
296341 then true
297342 else throw("invalid epoch length")]
298- if ((aa == aa))
299- then $Tuple2([IntegerEntry(c, ao)], unit)
343+ if ((ao == ao))
344+ then $Tuple2([IntegerEntry(c, aC)], unit)
300345 else throw("Strict value is not equal to itself.")
301346 }
302347
303348
304349
305-@Callable(L)
350+@Callable(Z)
306351 func finalize () = $Tuple2(nil, unit)
307352
308353
309354
310-@Callable(L)
311-func onVerificationLoss (ap) = $Tuple2(nil, unit)
355+@Callable(Z)
356+func onVerificationLoss (aD) = $Tuple2(nil, unit)
312357
313358
314-@Verifier(aq)
315-func ar () = {
316- let as = {
317- let x = H()
318- if ($isInstanceOf(x, "ByteVector"))
359+@Verifier(aE)
360+func aF () = {
361+ let aG = {
362+ let w = V()
363+ if ($isInstanceOf(w, "ByteVector"))
319364 then {
320- let N = x
321- N
365+ let ab = w
366+ ab
322367 }
323- else if ($isInstanceOf(x, "Unit"))
324- then aq.senderPublicKey
368+ else if ($isInstanceOf(w, "Unit"))
369+ then aE.senderPublicKey
325370 else throw("Match error")
326371 }
327- sigVerify(aq.bodyBytes, aq.proofs[0], as)
372+ sigVerify(aE.bodyBytes, aE.proofs[0], aG)
328373 }
329374

github/deemru/w8io/169f3d6 
82.28 ms