tx · 9vzsiqofpS5Cj8Ny4cxoArxyzgs9jg7YRVSWb5bUC3tW

3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA:  -0.01300000 Waves

2023.04.24 11:38 [2548400] smart account 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > SELF 0.00000000 Waves

{ "type": 13, "id": "9vzsiqofpS5Cj8Ny4cxoArxyzgs9jg7YRVSWb5bUC3tW", "fee": 1300000, "feeAssetId": null, "timestamp": 1682325554301, "version": 2, "chainId": 84, "sender": "3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA", "senderPublicKey": "H19CeJVbUnfsK8EYs8K6fHxwBH7pLyxw8WCDFu7D4rGQ", "proofs": [ "31niTMdYwBbGRL54R4E8b7ntFhHsiywUNnRYKwi4A2T5miP68vA5DRWg1e8zyyy9gqpR1GSQKBCvoRAzH2st3we8" ], "script": "base64:AAIFAAAAAAAABjgIAhIJCgcIAQEBAQEIEgMKAQgSAwoBARIAEgMKAQgSABIAIgNTRVAiB3dyYXBFcnIiA21zZyIIdGhyb3dFcnIiD2dldFN0cmluZ09yRmFpbCIHYWRkcmVzcyIDa2V5IhFrZXlGYWN0b3J5QWRkcmVzcyIZa2V5Vm90aW5nVmVyaWZpZWRDb250cmFjdCIia2V5Vm90aW5nRW1pc3Npb25DYW5kaWRhdGVDb250cmFjdCIUa2V5VXNlclBvb2xzQ29udHJhY3QiFnZvdGluZ1ZlcmlmaWVkQ29udHJhY3QiH3ZvdGluZ0VtaXNzaW9uQ2FuZGlkYXRlQ29udHJhY3QiEXVzZXJQb29sc0NvbnRyYWN0IhhJZHhGYWN0b3J5Q2ZnU3Rha2luZ0RhcHAiGUlkeEZhY3RvcnlDZmdCb29zdGluZ0RhcHAiFElkeEZhY3RvcnlDZmdJZG9EYXBwIhVJZHhGYWN0b3J5Q2ZnVGVhbURhcHAiGUlkeEZhY3RvcnlDZmdFbWlzc2lvbkRhcHAiFUlkeEZhY3RvcnlDZmdSZXN0RGFwcCIZSWR4RmFjdG9yeUNmZ1NsaXBwYWdlRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiDWtleUZhY3RvcnlDZmciGmtleUZhY3RvcnlMcDJBc3NldHNNYXBwaW5nIgpscEFzc2V0U3RyIhBrZXlGYWN0b3J5THBMaXN0IiZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcyIUa2V5RmFjdG9yeVBvb2xXZWlnaHQiD2NvbnRyYWN0QWRkcmVzcyIYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsIgpyZWFkTHBMaXN0IhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIglrZXlDb25maWciGWtleVJhdGVQZXJCbG9ja01heEN1cnJlbnQiG2tleVJhdGVQZXJCbG9ja01heFN0YXJ0RnJvbSIJdGltZXN0YW1wIgVibG9jayIWa2V5UmF0ZVBlckJsb2NrQ3VycmVudCIYa2V5UmF0ZVBlckJsb2NrU3RhcnRGcm9tIhVrZXlFbWlzc2lvblN0YXJ0QmxvY2siG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcyITa2V5RW1pc3Npb25FbmRCbG9jayINa2V5Qm9vc3RDb2VmZiIRYm9vc3RDb2VmZkRlZmF1bHQiCmJvb3N0Q29lZmYiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgckbWF0Y2gwIgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIOZmFjdG9yeUFkZHJlc3MiD3JhdGVQZXJCbG9ja01heCIMcmF0ZVBlckJsb2NrIhJlbWlzc2lvblN0YXJ0QmxvY2siEGVtaXNzaW9uRHVyYXRpb24iFmVtaXNzaW9uU3RhcnRUaW1lc3RhbXAiDHd4QXNzZXRJZFN0ciILY2hlY2tDYWxsZXIiGXZvdGluZ1ZlcmlmaWVkQ29udHJhY3RQcm0iBmFtb3VudCIPZmFjdG9yeUNvbnRyYWN0Ig9zdGFraW5nQ29udHJhY3QiEmd3eFJld2FyZHNDb250cmFjdCIGY2FsbGVyIgl3eEFzc2V0SWQiEGJvb3N0aW5nQ29udHJhY3QiA3BtdCIHYXNzZXRJZCIJcG10QW1vdW50IhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSIVY2hlY2tNYW5hZ2VyUHVibGljS2V5IgJwbSIFaGFzUE0iB2NoZWNrUE0iAnR4IgZ2ZXJpZnkiD3RhcmdldFB1YmxpY0tleQAAAC8AAAAAAWECAAAAAl9fAQAAAAFiAAAAAQAAAAFjCQAEuQAAAAIJAARMAAAAAgIAAAAOZW1pc3Npb24ucmlkZToJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIFAAAAAWMFAAAAA25pbAIAAAABIAEAAAABZAAAAAEAAAABYwkAAAIAAAABCQEAAAABYgAAAAEFAAAAAWMBAAAAAWUAAAACAAAAAWYAAAABZwkBAAAAE3ZhbHVlT3JFcnJv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", "height": 2548400, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4okyA9gs8PXLfYhfdto5m9HMC1pvQetxUbfMY5H9S82o Next: 2r1pMMbvY2SayHU6Q9bLG2vvKAW8Nd8Et7pK4q1eeSgY Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
9191 func R () = "%s%s__ratePerBlock__current"
9292
9393
94-func S () = "%s%s__ratePerBlock__next"
94+func S (P,Q) = makeString(["%s%s%d%d__ratePerBlock__start", toString(P), toString(Q)], a)
9595
9696
97-func T (P,Q) = makeString(["%s%s%d%d__ratePerBlock__start", toString(P), toString(Q)], a)
97+func T () = "%s%s__emission__startBlock"
9898
9999
100-func U () = "%s%s__emission__startBlock"
100+func U () = "%s%s__emission__duration"
101101
102102
103-func V () = "%s%s__emission__duration"
103+func V () = "%s%s__emission__endBlock"
104104
105105
106-func W () = "%s%s__emission__endBlock"
106+func W () = "%s__boostCoeff"
107107
108108
109-func X () = "%s__boostCoeff"
109+let X = 3
110+
111+let Y = valueOrElse(getInteger(this, W()), X)
112+
113+func Z () = "%s__managerPublicKey"
110114
111115
112-let Y = 3
113-
114-let Z = valueOrElse(getInteger(this, X()), Y)
115-
116-func aa () = "%s%s__gwxHoldersReward__current"
116+func aa () = "%s__pendingManagerPublicKey"
117117
118118
119-func ab () = "%s%s__gwxHoldersReward__next"
120-
121-
122-func ac () = "%s__managerPublicKey"
123-
124-
125-func ad () = "%s__pendingManagerPublicKey"
126-
127-
128-func ae () = {
129- let af = getString(ac())
130- if ($isInstanceOf(af, "String"))
119+func ab () = {
120+ let ac = getString(Z())
121+ if ($isInstanceOf(ac, "String"))
131122 then {
132- let ag = af
133- fromBase58String(ag)
123+ let ad = ac
124+ fromBase58String(ad)
134125 }
135- else if ($isInstanceOf(af, "Unit"))
126+ else if ($isInstanceOf(ac, "Unit"))
136127 then unit
137128 else throw("Match error")
138129 }
139130
140131
141-func ah () = {
142- let af = getString(ad())
143- if ($isInstanceOf(af, "String"))
132+func ae () = {
133+ let ac = getString(aa())
134+ if ($isInstanceOf(ac, "String"))
144135 then {
145- let ag = af
146- fromBase58String(ag)
136+ let ad = ac
137+ fromBase58String(ad)
147138 }
148- else if ($isInstanceOf(af, "Unit"))
139+ else if ($isInstanceOf(ac, "Unit"))
149140 then unit
150141 else throw("Match error")
151142 }
152143
153144
154-func ai (aj) = {
155- let ak = d("Permission denied")
156- let af = ae()
157- if ($isInstanceOf(af, "ByteVector"))
145+func af (ag) = {
146+ let ah = d("Permission denied")
147+ let ac = ab()
148+ if ($isInstanceOf(ac, "ByteVector"))
158149 then {
159- let al = af
160- if ((aj.callerPublicKey == al))
150+ let ai = ac
151+ if ((ag.callerPublicKey == ai))
161152 then true
162- else ak
153+ else ah
163154 }
164- else if ($isInstanceOf(af, "Unit"))
165- then if ((aj.caller == this))
155+ else if ($isInstanceOf(ac, "Unit"))
156+ then if ((ag.caller == this))
166157 then true
167- else ak
158+ else ah
168159 else throw("Match error")
169160 }
170161
171162
172-@Callable(aj)
173-func constructor (am,an,ao,ap,aq,ar,as) = {
174- let at = ai(aj)
175- if ((at == at))
176- then [IntegerEntry(O(ar, ap), an), IntegerEntry(N(), an), IntegerEntry(T(ar, ap), ao), IntegerEntry(R(), ao), IntegerEntry(U(), ap), IntegerEntry(V(), aq), IntegerEntry(W(), (ap + aq)), StringEntry(h(), am), StringEntry(M(), ("%s__" + as))]
163+@Callable(ag)
164+func constructor (aj,ak,al,am,an,ao,ap) = {
165+ let aq = af(ag)
166+ if ((aq == aq))
167+ then [IntegerEntry(O(ao, am), ak), IntegerEntry(N(), ak), IntegerEntry(S(ao, am), al), IntegerEntry(R(), al), IntegerEntry(T(), am), IntegerEntry(U(), an), IntegerEntry(V(), (am + an)), StringEntry(h(), aj), StringEntry(M(), ("%s__" + ap))]
177168 else throw("Strict value is not equal to itself.")
178169 }
179170
180171
181172
182-@Callable(aj)
183-func constructorV2 (au) = {
184- let at = ai(aj)
185- if ((at == at))
186- then $Tuple2([StringEntry(i, au)], unit)
173+@Callable(ag)
174+func constructorV2 (ar) = {
175+ let aq = af(ag)
176+ if ((aq == aq))
177+ then $Tuple2([StringEntry(i, ar)], unit)
187178 else throw("Strict value is not equal to itself.")
188179 }
189180
190181
191182
192-@Callable(aj)
193-func emit (av) = if ((0 >= av))
183+@Callable(ag)
184+func emit (as) = if ((0 >= as))
194185 then $Tuple2(nil, nil)
195186 else {
196- let aw = D()
197- let I = F(aw)
198- let ax = K(I)
199- let ay = L(I)
200- let az = aj.caller
201- if (if ((az != ax))
202- then (az != ay)
187+ let at = D()
188+ let I = F(at)
189+ let au = K(I)
190+ let av = L(I)
191+ let aw = ag.caller
192+ if (if ((aw != au))
193+ then (aw != av)
203194 else false)
204195 then d("permissions denied")
205196 else {
206- let as = split(e(this, M()), a)[1]
207- let aA = fromBase58String(as)
208- $Tuple2([ScriptTransfer(az, av, aA)], [aA])
197+ let ap = split(e(this, M()), a)[1]
198+ let ax = fromBase58String(ap)
199+ $Tuple2([ScriptTransfer(aw, as, ax)], [ax])
209200 }
210201 }
211202
212203
213204
214-@Callable(aj)
205+@Callable(ag)
215206 func burn () = {
216- let aw = D()
217- let I = F(aw)
218- let aB = H(I)
219- if ((size(aj.payments) != 1))
207+ let at = D()
208+ let I = F(at)
209+ let ay = H(I)
210+ if ((size(ag.payments) != 1))
220211 then d("exact one payment is allowed")
221212 else {
222- let aC = aj.payments[0]
223- let aD = value(aC.assetId)
224- let aE = aC.amount
225- let aA = fromBase58String(split(e(this, M()), a)[1])
226- if ((aD != aA))
213+ let az = ag.payments[0]
214+ let aA = value(az.assetId)
215+ let aB = az.amount
216+ let ax = fromBase58String(split(e(this, M()), a)[1])
217+ if ((aA != ax))
227218 then d("invalid wxAssetId is passed")
228- else if (!(containsElement([aB, l, m, n], aj.caller)))
219+ else if (!(containsElement([ay, l, m, n], ag.caller)))
229220 then d("permissions denied")
230- else [Burn(aD, aE), StringEntry(("%s%s%s__history__burn__" + toBase58String(aj.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(aE)], a))]
221+ else [Burn(aA, aB), StringEntry(("%s%s%s__history__burn__" + toBase58String(ag.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(aB)], a))]
231222 }
232223 }
233224
234225
235226
236-@Callable(aj)
237-func gwxHoldersRewardUpdate () = {
238- let aw = D()
239- let I = F(aw)
240- let ay = L(I)
241- let at = if ((aj.caller == ay))
242- then true
243- else ai(aj)
244- if ((at == at))
227+@Callable(ag)
228+func setManager (aC) = {
229+ let aq = af(ag)
230+ if ((aq == aq))
245231 then {
246- let aF = valueOrElse(getInteger(aa()), 0)
247- let aG = valueOrElse(getInteger(ab()), aF)
248- let aH = (aF != aG)
249- let aI = if (aH)
250- then [IntegerEntry(aa(), aG), DeleteEntry(ab())]
251- else nil
252- $Tuple2(aI, aH)
253- }
254- else throw("Strict value is not equal to itself.")
255- }
256-
257-
258-
259-@Callable(aj)
260-func setManager (aJ) = {
261- let at = ai(aj)
262- if ((at == at))
263- then {
264- let aK = fromBase58String(aJ)
265- if ((aK == aK))
266- then [StringEntry(ad(), aJ)]
232+ let aD = fromBase58String(aC)
233+ if ((aD == aD))
234+ then [StringEntry(aa(), aC)]
267235 else throw("Strict value is not equal to itself.")
268236 }
269237 else throw("Strict value is not equal to itself.")
271239
272240
273241
274-@Callable(aj)
242+@Callable(ag)
275243 func confirmManager () = {
276- let aL = ah()
277- let aM = if (isDefined(aL))
244+ let aE = ae()
245+ let aF = if (isDefined(aE))
278246 then true
279247 else d("No pending manager")
280- if ((aM == aM))
248+ if ((aF == aF))
281249 then {
282- let aN = if ((aj.callerPublicKey == value(aL)))
250+ let aG = if ((ag.callerPublicKey == value(aE)))
283251 then true
284252 else d("You are not pending manager")
285- if ((aN == aN))
286- then [StringEntry(ac(), toBase58String(value(aL))), DeleteEntry(ad())]
253+ if ((aG == aG))
254+ then [StringEntry(Z(), toBase58String(value(aE))), DeleteEntry(aa())]
287255 else throw("Strict value is not equal to itself.")
288256 }
289257 else throw("Strict value is not equal to itself.")
291259
292260
293261
294-@Callable(aj)
295-func getBoostCoeffREADONLY () = $Tuple2(nil, Z)
262+@Callable(ag)
263+func getBoostCoeffREADONLY () = $Tuple2(nil, Y)
296264
297265
298-@Verifier(aO)
299-func aP () = {
300- let aQ = {
301- let af = ae()
302- if ($isInstanceOf(af, "ByteVector"))
266+@Verifier(aH)
267+func aI () = {
268+ let aJ = {
269+ let ac = ab()
270+ if ($isInstanceOf(ac, "ByteVector"))
303271 then {
304- let al = af
305- al
272+ let ai = ac
273+ ai
306274 }
307- else if ($isInstanceOf(af, "Unit"))
308- then aO.senderPublicKey
275+ else if ($isInstanceOf(ac, "Unit"))
276+ then aH.senderPublicKey
309277 else throw("Match error")
310278 }
311- sigVerify(aO.bodyBytes, aO.proofs[0], aQ)
279+ sigVerify(aH.bodyBytes, aH.proofs[0], aJ)
312280 }
313281
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b (c) = makeString(["emission.ride:", toString(this), c], " ")
77
88
99 func d (c) = throw(b(c))
1010
1111
1212 func e (f,g) = valueOrErrorMessage(getString(f, g), b((("mandatory this." + g) + " is not defined")))
1313
1414
1515 func h () = "%s%s__config__factoryAddress"
1616
1717
1818 let i = "%s%s__config__votingVerifiedContract"
1919
2020 let j = "%s%s__config__votingEmissionCandidateContract"
2121
2222 let k = "%s%s__config__userPoolsContract"
2323
2424 let l = addressFromStringValue(e(this, i))
2525
2626 let m = addressFromStringValue(e(this, j))
2727
2828 let n = addressFromStringValue(e(this, k))
2929
3030 let o = 1
3131
3232 let p = 2
3333
3434 let q = 3
3535
3636 let r = 4
3737
3838 let s = 5
3939
4040 let t = 6
4141
4242 let u = 7
4343
4444 let v = 10
4545
4646 func w () = "%s__factoryConfig"
4747
4848
4949 func x (y) = makeString(["%s%s%s", y, "mappings__lpAsset2PoolContract"], a)
5050
5151
5252 func z () = "%s__lpTokensList"
5353
5454
5555 func A (y) = makeString(["%s%s%s", y, "mappings__lpAsset2PoolContract"], a)
5656
5757
5858 func B (C) = makeString(["%s%s", "poolWeight", C], a)
5959
6060
6161 func D () = addressFromStringValue(e(this, h()))
6262
6363
6464 func E () = split(valueOrElse(getString(D(), z()), ""), a)
6565
6666
6767 func F (G) = split(e(G, w()), a)
6868
6969
7070 func H (I) = addressFromStringValue(I[p])
7171
7272
7373 func J (I) = addressFromStringValue(I[s])
7474
7575
7676 func K (I) = addressFromStringValue(I[o])
7777
7878
7979 func L (I) = addressFromStringValue(I[v])
8080
8181
8282 func M () = "%s__config"
8383
8484
8585 func N () = "%s%s__ratePerBlockMax__current"
8686
8787
8888 func O (P,Q) = makeString(["%s%s%d%d__ratePerBlockMax__start", toString(P), toString(Q)], a)
8989
9090
9191 func R () = "%s%s__ratePerBlock__current"
9292
9393
94-func S () = "%s%s__ratePerBlock__next"
94+func S (P,Q) = makeString(["%s%s%d%d__ratePerBlock__start", toString(P), toString(Q)], a)
9595
9696
97-func T (P,Q) = makeString(["%s%s%d%d__ratePerBlock__start", toString(P), toString(Q)], a)
97+func T () = "%s%s__emission__startBlock"
9898
9999
100-func U () = "%s%s__emission__startBlock"
100+func U () = "%s%s__emission__duration"
101101
102102
103-func V () = "%s%s__emission__duration"
103+func V () = "%s%s__emission__endBlock"
104104
105105
106-func W () = "%s%s__emission__endBlock"
106+func W () = "%s__boostCoeff"
107107
108108
109-func X () = "%s__boostCoeff"
109+let X = 3
110+
111+let Y = valueOrElse(getInteger(this, W()), X)
112+
113+func Z () = "%s__managerPublicKey"
110114
111115
112-let Y = 3
113-
114-let Z = valueOrElse(getInteger(this, X()), Y)
115-
116-func aa () = "%s%s__gwxHoldersReward__current"
116+func aa () = "%s__pendingManagerPublicKey"
117117
118118
119-func ab () = "%s%s__gwxHoldersReward__next"
120-
121-
122-func ac () = "%s__managerPublicKey"
123-
124-
125-func ad () = "%s__pendingManagerPublicKey"
126-
127-
128-func ae () = {
129- let af = getString(ac())
130- if ($isInstanceOf(af, "String"))
119+func ab () = {
120+ let ac = getString(Z())
121+ if ($isInstanceOf(ac, "String"))
131122 then {
132- let ag = af
133- fromBase58String(ag)
123+ let ad = ac
124+ fromBase58String(ad)
134125 }
135- else if ($isInstanceOf(af, "Unit"))
126+ else if ($isInstanceOf(ac, "Unit"))
136127 then unit
137128 else throw("Match error")
138129 }
139130
140131
141-func ah () = {
142- let af = getString(ad())
143- if ($isInstanceOf(af, "String"))
132+func ae () = {
133+ let ac = getString(aa())
134+ if ($isInstanceOf(ac, "String"))
144135 then {
145- let ag = af
146- fromBase58String(ag)
136+ let ad = ac
137+ fromBase58String(ad)
147138 }
148- else if ($isInstanceOf(af, "Unit"))
139+ else if ($isInstanceOf(ac, "Unit"))
149140 then unit
150141 else throw("Match error")
151142 }
152143
153144
154-func ai (aj) = {
155- let ak = d("Permission denied")
156- let af = ae()
157- if ($isInstanceOf(af, "ByteVector"))
145+func af (ag) = {
146+ let ah = d("Permission denied")
147+ let ac = ab()
148+ if ($isInstanceOf(ac, "ByteVector"))
158149 then {
159- let al = af
160- if ((aj.callerPublicKey == al))
150+ let ai = ac
151+ if ((ag.callerPublicKey == ai))
161152 then true
162- else ak
153+ else ah
163154 }
164- else if ($isInstanceOf(af, "Unit"))
165- then if ((aj.caller == this))
155+ else if ($isInstanceOf(ac, "Unit"))
156+ then if ((ag.caller == this))
166157 then true
167- else ak
158+ else ah
168159 else throw("Match error")
169160 }
170161
171162
172-@Callable(aj)
173-func constructor (am,an,ao,ap,aq,ar,as) = {
174- let at = ai(aj)
175- if ((at == at))
176- then [IntegerEntry(O(ar, ap), an), IntegerEntry(N(), an), IntegerEntry(T(ar, ap), ao), IntegerEntry(R(), ao), IntegerEntry(U(), ap), IntegerEntry(V(), aq), IntegerEntry(W(), (ap + aq)), StringEntry(h(), am), StringEntry(M(), ("%s__" + as))]
163+@Callable(ag)
164+func constructor (aj,ak,al,am,an,ao,ap) = {
165+ let aq = af(ag)
166+ if ((aq == aq))
167+ then [IntegerEntry(O(ao, am), ak), IntegerEntry(N(), ak), IntegerEntry(S(ao, am), al), IntegerEntry(R(), al), IntegerEntry(T(), am), IntegerEntry(U(), an), IntegerEntry(V(), (am + an)), StringEntry(h(), aj), StringEntry(M(), ("%s__" + ap))]
177168 else throw("Strict value is not equal to itself.")
178169 }
179170
180171
181172
182-@Callable(aj)
183-func constructorV2 (au) = {
184- let at = ai(aj)
185- if ((at == at))
186- then $Tuple2([StringEntry(i, au)], unit)
173+@Callable(ag)
174+func constructorV2 (ar) = {
175+ let aq = af(ag)
176+ if ((aq == aq))
177+ then $Tuple2([StringEntry(i, ar)], unit)
187178 else throw("Strict value is not equal to itself.")
188179 }
189180
190181
191182
192-@Callable(aj)
193-func emit (av) = if ((0 >= av))
183+@Callable(ag)
184+func emit (as) = if ((0 >= as))
194185 then $Tuple2(nil, nil)
195186 else {
196- let aw = D()
197- let I = F(aw)
198- let ax = K(I)
199- let ay = L(I)
200- let az = aj.caller
201- if (if ((az != ax))
202- then (az != ay)
187+ let at = D()
188+ let I = F(at)
189+ let au = K(I)
190+ let av = L(I)
191+ let aw = ag.caller
192+ if (if ((aw != au))
193+ then (aw != av)
203194 else false)
204195 then d("permissions denied")
205196 else {
206- let as = split(e(this, M()), a)[1]
207- let aA = fromBase58String(as)
208- $Tuple2([ScriptTransfer(az, av, aA)], [aA])
197+ let ap = split(e(this, M()), a)[1]
198+ let ax = fromBase58String(ap)
199+ $Tuple2([ScriptTransfer(aw, as, ax)], [ax])
209200 }
210201 }
211202
212203
213204
214-@Callable(aj)
205+@Callable(ag)
215206 func burn () = {
216- let aw = D()
217- let I = F(aw)
218- let aB = H(I)
219- if ((size(aj.payments) != 1))
207+ let at = D()
208+ let I = F(at)
209+ let ay = H(I)
210+ if ((size(ag.payments) != 1))
220211 then d("exact one payment is allowed")
221212 else {
222- let aC = aj.payments[0]
223- let aD = value(aC.assetId)
224- let aE = aC.amount
225- let aA = fromBase58String(split(e(this, M()), a)[1])
226- if ((aD != aA))
213+ let az = ag.payments[0]
214+ let aA = value(az.assetId)
215+ let aB = az.amount
216+ let ax = fromBase58String(split(e(this, M()), a)[1])
217+ if ((aA != ax))
227218 then d("invalid wxAssetId is passed")
228- else if (!(containsElement([aB, l, m, n], aj.caller)))
219+ else if (!(containsElement([ay, l, m, n], ag.caller)))
229220 then d("permissions denied")
230- else [Burn(aD, aE), StringEntry(("%s%s%s__history__burn__" + toBase58String(aj.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(aE)], a))]
221+ else [Burn(aA, aB), StringEntry(("%s%s%s__history__burn__" + toBase58String(ag.transactionId)), makeString(["%d%d%d", toString(height), toString(lastBlock.timestamp), toString(aB)], a))]
231222 }
232223 }
233224
234225
235226
236-@Callable(aj)
237-func gwxHoldersRewardUpdate () = {
238- let aw = D()
239- let I = F(aw)
240- let ay = L(I)
241- let at = if ((aj.caller == ay))
242- then true
243- else ai(aj)
244- if ((at == at))
227+@Callable(ag)
228+func setManager (aC) = {
229+ let aq = af(ag)
230+ if ((aq == aq))
245231 then {
246- let aF = valueOrElse(getInteger(aa()), 0)
247- let aG = valueOrElse(getInteger(ab()), aF)
248- let aH = (aF != aG)
249- let aI = if (aH)
250- then [IntegerEntry(aa(), aG), DeleteEntry(ab())]
251- else nil
252- $Tuple2(aI, aH)
253- }
254- else throw("Strict value is not equal to itself.")
255- }
256-
257-
258-
259-@Callable(aj)
260-func setManager (aJ) = {
261- let at = ai(aj)
262- if ((at == at))
263- then {
264- let aK = fromBase58String(aJ)
265- if ((aK == aK))
266- then [StringEntry(ad(), aJ)]
232+ let aD = fromBase58String(aC)
233+ if ((aD == aD))
234+ then [StringEntry(aa(), aC)]
267235 else throw("Strict value is not equal to itself.")
268236 }
269237 else throw("Strict value is not equal to itself.")
270238 }
271239
272240
273241
274-@Callable(aj)
242+@Callable(ag)
275243 func confirmManager () = {
276- let aL = ah()
277- let aM = if (isDefined(aL))
244+ let aE = ae()
245+ let aF = if (isDefined(aE))
278246 then true
279247 else d("No pending manager")
280- if ((aM == aM))
248+ if ((aF == aF))
281249 then {
282- let aN = if ((aj.callerPublicKey == value(aL)))
250+ let aG = if ((ag.callerPublicKey == value(aE)))
283251 then true
284252 else d("You are not pending manager")
285- if ((aN == aN))
286- then [StringEntry(ac(), toBase58String(value(aL))), DeleteEntry(ad())]
253+ if ((aG == aG))
254+ then [StringEntry(Z(), toBase58String(value(aE))), DeleteEntry(aa())]
287255 else throw("Strict value is not equal to itself.")
288256 }
289257 else throw("Strict value is not equal to itself.")
290258 }
291259
292260
293261
294-@Callable(aj)
295-func getBoostCoeffREADONLY () = $Tuple2(nil, Z)
262+@Callable(ag)
263+func getBoostCoeffREADONLY () = $Tuple2(nil, Y)
296264
297265
298-@Verifier(aO)
299-func aP () = {
300- let aQ = {
301- let af = ae()
302- if ($isInstanceOf(af, "ByteVector"))
266+@Verifier(aH)
267+func aI () = {
268+ let aJ = {
269+ let ac = ab()
270+ if ($isInstanceOf(ac, "ByteVector"))
303271 then {
304- let al = af
305- al
272+ let ai = ac
273+ ai
306274 }
307- else if ($isInstanceOf(af, "Unit"))
308- then aO.senderPublicKey
275+ else if ($isInstanceOf(ac, "Unit"))
276+ then aH.senderPublicKey
309277 else throw("Match error")
310278 }
311- sigVerify(aO.bodyBytes, aO.proofs[0], aQ)
279+ sigVerify(aH.bodyBytes, aH.proofs[0], aJ)
312280 }
313281

github/deemru/w8io/873ac7e 
87.89 ms