tx · 2yzv1Ze1fbmVyZCxELmf47j6hYnJfZ8yjs4MW5oetoVv

3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr:  -0.01600000 Waves

2023.05.02 09:51 [2559807] smart account 3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr > SELF 0.00000000 Waves

{ "type": 13, "id": "2yzv1Ze1fbmVyZCxELmf47j6hYnJfZ8yjs4MW5oetoVv", "fee": 1600000, "feeAssetId": null, "timestamp": 1683010310602, "version": 2, "chainId": 84, "sender": "3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr", "senderPublicKey": "EtZZHS4uqNXY5WPneZ8jY2aA95peXwthJVLzAMxMp379", "proofs": [ "4Xe1oZiFXHFtM3eqFc3LitmXf6shMBSBTXfEDEEQTXQ9FeWJ5CTSy9ubJceutikueX6VvA5wG58keicJFrjt8RDk" ], "script": "base64:AAIFAAAAAAAABbYIAhIECgIICBIECgIICBIECgIIGBIDCgEIEgUKAwgICBIDCgEIEgMKAQgSAwoBCBIECgIICBIECgIICBIECgIICBIDCgEIEgUKAwgIBBIECgIICBIECgIIBBIDCgEIEgMKARgSAwoBCCIDU0VQIgVFTVBUWSIOc3RhdHVzVmVyaWZpZWQiEHN0YXR1c1VudmVyaWZpZWQiFmxhYmVsQ29tbXVuaXR5VmVyaWZpZWQiDGxhYmVsUG9vbHNMcCINZGVmYXVsdExhYmVscyIHdGhyb3dQRCIMdGhyb3dOb0Fzc2V0IhJ0aHJvd0ludmFsaWRUaWNrZXIiD2tleUFkbWluUHViS2V5cyIUa2V5VXNlclBvb2xzQ29udHJhY3QiEmtleUZhY3RvcnlDb250cmFjdCIKa2V5Q3JlYXRlZCIHYXNzZXRJZCIHa2V5TG9nbyIJa2V5VGlja2VyIglrZXlTdGF0dXMiE2tleUFzc2V0UG9vbHNOdW1iZXIiEmtleVRpY2tlclRvQXNzZXRJZCIGdGlja2VyIhJrZXlBc3NldElkVG9UaWNrZXIiIGtleUFtb3VudEFuZFByaWNlQXNzZXRzVG9McEFzc2V0IgthbW91bnRBc3NldCIKcHJpY2VBc3NldCIga2V5THBBc3NldFRvQW1vdW50QW5kUHJpY2VBc3NldHMiB2xwQXNzZXQiDmtleUFzc2V0TGFiZWxzIglrZXlMYWJlbHMiDGtleUFzc2V0TmFtZSIWa2V5TWFuYWdlclZhdWx0QWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSITa2V5QXNzZXREZXNjcmlwdGlvbiIOZ2V0VmFsdWVPckZhaWwiB2FkZHJlc3MiA2tleSIEdHlwZSIFZXJyb3IiByRtYXRjaDAiA3N0ciIDaW50IgxnZXRTdHJPckZhaWwiAUAiDGdldEludE9yRmFpbCIKaXNWZXJpZmllZCIJZ2V0TGFiZWxzIgFzIg5nZXRBc3NldExhYmVscyIXZ2V0TWFuYWdlckFkZHJlc3NPckZhaWwiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiCWlzTWFuYWdlciIBaSICcGsiC211c3RNYW5hZ2VyIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc0NyZWF0ZWQiEHZlcmlmaWVkVG9TdGF0dXMiCHZlcmlmaWVkIg9hZGRMYWJlbEFjdGlvbnMiBWxhYmVsIgx0aHJvd09uRXJyb3IiBmxhYmVscyILYXNzZXRMYWJlbHMiCmNoZWNrTGFiZWwiDm5ld0Fzc2V0TGFiZWxzIhJkZWxldGVMYWJlbEFjdGlvbnMiEnNldFZlcmlmaWVkQWN0aW9ucyIdbGFiZWxDb21tdW5pdHlWZXJpZmllZEFjdGlvbnMiB2Fzc2V0SUQiCWFzc2V0TmFtZSILY2hlY2tDYWxsZXIiEGFzc2V0RGVzY3JpcHRpb24iEXVzZXJQb29sc0NvbnRyYWN0Ig1jaGVja3NBZGRyZXNzIg9mYWN0b3J5Q29udHJhY3QiDGNoZWNrQWRkcmVzcyITYXNzZXRQb29sc051bWJlcktleSIQYXNzZXRQb29sc051bWJlciIKY2hlY2tBc3NldCILY2hlY2tUaWNrZXIiDWRlbGV0ZUFjdGlvbnMiCmFzc2V0SWRPbGQiCXRpY2tlck9sZCINdXBkYXRlQWN0aW9ucyIEbG9nbyIMaXNDcmVhdGVkTm93Ig5zZXRMb2dvQWN0aW9ucyIGY2hlY2tzIgZhY3Rpb24iFW9uVmVyaWZpY2F0aW9uTG9zc0ludiILcG9vbHNOdW1iZXIiB2FjdGlvbnMiDGFkbWluUHViS2V5cyICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5AAAALAAAAAABYQIAAAACX18AAAAAAWICAAAAAAAAAAABYwAAAAAAAAAAAgAAAAABZAAAAAAAAAAAAAAAAAABZQIAAAASQ09NTVVOSVRZX1ZFUklGSUVEAAAAAAFmAgAAAAhQT09MU19MUAAAAAABZwkABEwAAAACBQAAAAFlCQAETAAAAAIFAAAAAWYFAAAAA25pbAEAAAABaAAAAAAJAAACAAAAAQIAAAARUGVybWlzc2lvbiBkZW5pZWQBAAAAAWkAAAAACQAAAgAAAAECAAAAFEFzc2V0IGRvZXNuJ3QgZXhpc3RzAQAAAAFqAAAAAAkAAAIAAAABAgAAAA5JbnZhbGlkIHRpY2tlcgEAAAABawAAAAACAAAAECVzX19hZG1pblB1YktleXMBAAAAAWwAAAAAAgAAABUlc19fdXNlclBvb2xz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", "height": 2559807, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 881rjhL5QAtMYSxpD9DXoLgQmoSXiDwLw7N2VAMacNZS Next: none Diff:
OldNewDifferences
2424 func j () = throw("Invalid ticker")
2525
2626
27-func k () = "%s__managerPublicKey"
27+func k () = "%s__adminPubKeys"
2828
2929
30-func l () = "%s__pendingManagerPublicKey"
30+func l () = "%s__userPoolsContract"
3131
3232
33-func m () = "%s__adminPubKeys"
33+func m () = "%s__factoryContract"
3434
3535
36-func n () = "%s__userPoolsContract"
36+func n (o) = (("created_<" + o) + ">")
3737
3838
39-func o () = "%s__factoryContract"
39+func p (o) = (("logo_<" + o) + ">")
4040
4141
42-func p (q) = (("created_<" + q) + ">")
42+func q (o) = (("ticker_<" + o) + ">")
4343
4444
45-func r (q) = (("logo_<" + q) + ">")
45+func r (o) = (("status_<" + o) + ">")
4646
4747
48-func s (q) = (("ticker_<" + q) + ">")
48+func s (o) = makeString(["%s%s", "pools", o], a)
4949
5050
51-func t (q) = (("status_<" + q) + ">")
51+func t (u) = makeString(["%s%s", "ticker2assetId", u], a)
5252
5353
54-func u (q) = makeString(["%s%s", "pools", q], a)
54+func v (o) = makeString(["%s%s", "assetId2ticker", o], a)
5555
5656
57-func v (w) = makeString(["%s%s", "ticker2assetId", w], a)
57+func w (x,y) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", x, y], a)
5858
5959
60-func x (q) = makeString(["%s%s", "assetId2ticker", q], a)
60+func z (A) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", A], a)
6161
6262
63-func y (z,A) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", z, A], a)
63+func B (o) = makeString(["%s%s", "labels", o], a)
6464
6565
66-func B (C) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", C], a)
66+func C () = makeString(["%s", "labels"], a)
6767
6868
69-func D (q) = makeString(["%s%s", "labels", q], a)
69+func D (o) = makeString(["%s%s", "assetName", o], a)
7070
7171
72-func E () = makeString(["%s", "labels"], a)
72+func E () = "%s__managerVaultAddress"
7373
7474
75-func F (q) = makeString(["%s%s", "assetName", q], a)
75+func F () = "%s__managerPublicKey"
7676
7777
78-func G (q) = makeString(["%s%s", "assetDescription", q], a)
78+func G (o) = makeString(["%s%s", "assetDescription", o], a)
7979
8080
8181 func H (I,J,K) = {
113113 }
114114
115115
116-func S (q) = (valueOrElse(getInteger(t(q)), d) == c)
116+func S (o) = (valueOrElse(getInteger(r(o)), d) == c)
117117
118118
119119 func T () = {
120- let M = getString(E())
120+ let M = getString(C())
121121 if ($isInstanceOf(M, "String"))
122122 then {
123123 let U = M
129129 }
130130
131131
132-func V (q) = {
133- let M = getString(D(q))
132+func V (o) = {
133+ let M = getString(B(o))
134134 if ($isInstanceOf(M, "String"))
135135 then {
136136 let U = M
142142 }
143143
144144
145-func W () = {
146- let M = getString(k())
145+func W () = addressFromStringValue(getStringValue(E()))
146+
147+
148+func X () = {
149+ let Y = W()
150+ let M = getString(Y, F())
147151 if ($isInstanceOf(M, "String"))
148152 then {
149153 let U = M
155159 }
156160
157161
158-func X () = {
159- let M = getString(l())
160- if ($isInstanceOf(M, "String"))
162+func Z (aa) = {
163+ let M = X()
164+ if ($isInstanceOf(M, "ByteVector"))
161165 then {
162- let U = M
163- fromBase58String(U)
166+ let ab = M
167+ (aa.callerPublicKey == ab)
164168 }
165169 else if ($isInstanceOf(M, "Unit"))
166- then unit
170+ then (aa.caller == this)
167171 else throw("Match error")
168172 }
169173
170174
171-func Y (Z) = {
172- let M = W()
173- if ($isInstanceOf(M, "ByteVector"))
174- then {
175- let aa = M
176- if ((Z.callerPublicKey == aa))
177- then true
178- else h()
179- }
180- else if ($isInstanceOf(M, "Unit"))
181- then if ((Z.caller == this))
182- then true
183- else h()
184- else throw("Match error")
175+func ac (aa) = if (Z(aa))
176+ then true
177+ else throw("permission denied")
178+
179+
180+func ad (aa) = {
181+ let ae = split(valueOrElse(getString(k()), b), a)
182+ if (containsElement(ae, toBase58String(aa.callerPublicKey)))
183+ then true
184+ else ac(aa)
185185 }
186186
187187
188-func ab (Z) = {
189- let ac = split(valueOrElse(getString(m()), b), a)
190- if (containsElement(ac, toBase58String(Z.callerPublicKey)))
191- then true
192- else {
193- let ad = Y(Z)
194- if ((ad == ad))
195- then true
196- else throw("Strict value is not equal to itself.")
197- }
198- }
188+func af (o) = valueOrElse(getBoolean(n(o)), false)
199189
200190
201-func ae (q) = valueOrElse(getBoolean(p(q)), false)
202-
203-
204-func af (ag) = if (ag)
191+func ag (ah) = if (ah)
205192 then c
206193 else d
207194
208195
209-func ah (q,ai,aj) = {
210- let ak = T()
211- let al = V(q)
212- let am = if (containsElement(ak, ai))
196+func ai (o,aj,ak) = {
197+ let al = T()
198+ let am = V(o)
199+ let an = if (containsElement(al, aj))
213200 then true
214201 else throw("Label doesn't exist")
215- if ((am == am))
202+ if ((an == an))
216203 then {
217- let an = if (containsElement(al, ai))
218- then if (aj)
204+ let ao = if (containsElement(am, aj))
205+ then if (ak)
219206 then throw("Label has already been added")
220- else al
221- else (al :+ ai)
222-[StringEntry(D(q), makeString(an, a))]
207+ else am
208+ else (am :+ aj)
209+[StringEntry(B(o), makeString(ao, a))]
223210 }
224211 else throw("Strict value is not equal to itself.")
225212 }
226213
227214
228-func ao (q,ai,aj) = {
229- let al = V(q)
230- let an = if (containsElement(al, ai))
231- then removeByIndex(al, value(indexOf(al, ai)))
232- else if (aj)
215+func ap (o,aj,ak) = {
216+ let am = V(o)
217+ let ao = if (containsElement(am, aj))
218+ then removeByIndex(am, value(indexOf(am, aj)))
219+ else if (ak)
233220 then throw("Label wasn't added")
234- else al
235-[StringEntry(D(q), makeString(an, a))]
221+ else am
222+[StringEntry(B(o), makeString(ao, a))]
236223 }
237224
238225
239-func ap (q,ag) = {
240- let aq = if (ag)
241- then ah(q, e, false)
242- else ao(q, e, false)
243- ([IntegerEntry(t(q), af(ag))] ++ aq)
226+func aq (o,ah) = {
227+ let ar = if (ah)
228+ then ai(o, e, false)
229+ else ap(o, e, false)
230+ ([IntegerEntry(r(o), ag(ah))] ++ ar)
244231 }
245232
246233
247-@Callable(Z)
248-func setAssetName (ar,as) = {
249- let at = ab(Z)
250- if ((at == at))
251- then [StringEntry(F(ar), as)]
234+@Callable(aa)
235+func setAssetName (as,at) = {
236+ let au = ad(aa)
237+ if ((au == au))
238+ then [StringEntry(D(as), at)]
252239 else throw("Strict value is not equal to itself.")
253240 }
254241
255242
256243
257-@Callable(Z)
258-func setAssetDescription (ar,au) = {
259- let at = ab(Z)
260- if ((at == at))
261- then [StringEntry(G(ar), au)]
244+@Callable(aa)
245+func setAssetDescription (as,av) = {
246+ let au = ad(aa)
247+ if ((au == au))
248+ then [StringEntry(G(as), av)]
262249 else throw("Strict value is not equal to itself.")
263250 }
264251
265252
266253
267-@Callable(Z)
268-func constructor (av,ak) = {
269- let at = Y(Z)
270- if ((at == at))
254+@Callable(aa)
255+func constructor (aw,al) = {
256+ let au = ac(aa)
257+ if ((au == au))
271258 then {
272- let aw = valueOrErrorMessage(addressFromString(av), "Invalid address")
273- if ((aw == aw))
274- then [StringEntry(n(), av), StringEntry(E(), makeString((g ++ ak), a))]
259+ let ax = valueOrErrorMessage(addressFromString(aw), "Invalid address")
260+ if ((ax == ax))
261+ then [StringEntry(l(), aw), StringEntry(C(), makeString((g ++ al), a))]
275262 else throw("Strict value is not equal to itself.")
276263 }
277264 else throw("Strict value is not equal to itself.")
279266
280267
281268
282-@Callable(Z)
283-func constructorV2 (ax) = {
284- let at = Y(Z)
285- if ((at == at))
269+@Callable(aa)
270+func constructorV2 (ay) = {
271+ let au = ac(aa)
272+ if ((au == au))
286273 then {
287- let ay = valueOrErrorMessage(addressFromString(ax), "invalid factory contract address")
288- if ((ay == ay))
289- then [StringEntry(o(), ax)]
274+ let az = valueOrErrorMessage(addressFromString(ay), "invalid factory contract address")
275+ if ((az == az))
276+ then [StringEntry(m(), ay)]
290277 else throw("Strict value is not equal to itself.")
291278 }
292279 else throw("Strict value is not equal to itself.")
294281
295282
296283
297-@Callable(Z)
298-func addAssetsLink (z,A,C) = {
299- let at = ab(Z)
300- if ((at == at))
301- then [StringEntry(y(z, A), C), StringEntry(B(C), makeString([z, A], a))]
284+@Callable(aa)
285+func addAssetsLink (x,y,A) = {
286+ let au = ad(aa)
287+ if ((au == au))
288+ then [StringEntry(w(x, y), A), StringEntry(z(A), makeString([x, y], a))]
302289 else throw("Strict value is not equal to itself.")
303290 }
304291
305292
306293
307-@Callable(Z)
308-func increaseAssetPoolsNumber (q) = {
309- let at = ab(Z)
310- if ((at == at))
294+@Callable(aa)
295+func increaseAssetPoolsNumber (o) = {
296+ let au = ad(aa)
297+ if ((au == au))
311298 then {
312- let az = u(q)
313- let aA = valueOrElse(getInteger(az), 0)
314-[IntegerEntry(az, (aA + 1))]
299+ let aA = s(o)
300+ let aB = valueOrElse(getInteger(aA), 0)
301+[IntegerEntry(aA, (aB + 1))]
315302 }
316303 else throw("Strict value is not equal to itself.")
317304 }
318305
319306
320307
321-@Callable(Z)
322-func createLabel (ai) = {
323- let ak = T()
324- let at = ab(Z)
325- if ((at == at))
308+@Callable(aa)
309+func createLabel (aj) = {
310+ let al = T()
311+ let au = ad(aa)
312+ if ((au == au))
326313 then {
327- let am = [if (!(contains(ai, a)))
314+ let an = [if (!(contains(aj, a)))
328315 then true
329- else throw("Invalid label name"), if (!(containsElement(ak, ai)))
316+ else throw("Invalid label name"), if (!(containsElement(al, aj)))
330317 then true
331318 else throw("Label exists")]
332- if ((am == am))
333- then [StringEntry(E(), makeString((ak :+ ai), a))]
319+ if ((an == an))
320+ then [StringEntry(C(), makeString((al :+ aj), a))]
334321 else throw("Strict value is not equal to itself.")
335322 }
336323 else throw("Strict value is not equal to itself.")
338325
339326
340327
341-@Callable(Z)
342-func dropLabel (ai) = {
343- let ak = T()
344- let at = Y(Z)
345- if ((at == at))
328+@Callable(aa)
329+func dropLabel (aj) = {
330+ let al = T()
331+ let au = ac(aa)
332+ if ((au == au))
346333 then {
347- let am = if (containsElement(ak, ai))
334+ let an = if (containsElement(al, aj))
348335 then true
349336 else throw("Label doesn't exist")
350- if ((am == am))
351- then [StringEntry(E(), makeString(removeByIndex(ak, value(indexOf(ak, ai))), a))]
337+ if ((an == an))
338+ then [StringEntry(C(), makeString(removeByIndex(al, value(indexOf(al, aj))), a))]
352339 else throw("Strict value is not equal to itself.")
353340 }
354341 else throw("Strict value is not equal to itself.")
356343
357344
358345
359-@Callable(Z)
360-func addLabel (q,ai) = {
361- let at = ab(Z)
362- if ((at == at))
363- then ah(q, ai, true)
346+@Callable(aa)
347+func addLabel (o,aj) = {
348+ let au = ad(aa)
349+ if ((au == au))
350+ then ai(o, aj, true)
364351 else throw("Strict value is not equal to itself.")
365352 }
366353
367354
368355
369-@Callable(Z)
370-func deleteLabel (q,ai) = {
371- let at = ab(Z)
372- if ((at == at))
373- then ao(q, ai, true)
356+@Callable(aa)
357+func deleteLabel (o,aj) = {
358+ let au = ad(aa)
359+ if ((au == au))
360+ then ap(o, aj, true)
374361 else throw("Strict value is not equal to itself.")
375362 }
376363
377364
378365
379-@Callable(Z)
380-func updateTicker (q,w) = {
381- let at = ab(Z)
382- if ((at == at))
366+@Callable(aa)
367+func updateTicker (o,u) = {
368+ let au = ad(aa)
369+ if ((au == au))
383370 then {
384- let aB = if (ae(q))
371+ let aC = if (af(o))
385372 then true
386373 else i()
387- if ((aB == aB))
374+ if ((aC == aC))
388375 then {
389- let aC = if ((w != ""))
376+ let aD = if ((u != ""))
390377 then true
391378 else j()
392- if ((aC == aC))
379+ if ((aD == aD))
393380 then {
394- let aD = ({
395- let M = getString(v(w))
396- if ($isInstanceOf(M, "String"))
397- then {
398- let aE = M
399-[DeleteEntry(x(aE))]
400- }
401- else if ($isInstanceOf(M, "Unit"))
402- then nil
403- else throw("Match error")
404- } ++ {
405- let M = getString(x(q))
381+ let aE = ({
382+ let M = getString(t(u))
406383 if ($isInstanceOf(M, "String"))
407384 then {
408385 let aF = M
411388 else if ($isInstanceOf(M, "Unit"))
412389 then nil
413390 else throw("Match error")
391+ } ++ {
392+ let M = getString(v(o))
393+ if ($isInstanceOf(M, "String"))
394+ then {
395+ let aG = M
396+[DeleteEntry(t(aG))]
397+ }
398+ else if ($isInstanceOf(M, "Unit"))
399+ then nil
400+ else throw("Match error")
414401 })
415- let aG = [StringEntry(x(q), w), StringEntry(v(w), q)]
416- (aD ++ aG)
402+ let aH = [StringEntry(v(o), u), StringEntry(t(u), o)]
403+ (aE ++ aH)
417404 }
418405 else throw("Strict value is not equal to itself.")
419406 }
424411
425412
426413
427-@Callable(Z)
428-func deleteTicker (q) = {
429- let at = ab(Z)
430- if ((at == at))
414+@Callable(aa)
415+func deleteTicker (o) = {
416+ let au = ad(aa)
417+ if ((au == au))
431418 then {
432- let w = valueOrErrorMessage(getString(x(q)), "Invalid asset")
433-[DeleteEntry(x(q)), DeleteEntry(v(w))]
419+ let u = valueOrErrorMessage(getString(v(o)), "Invalid asset")
420+[DeleteEntry(v(o)), DeleteEntry(t(u))]
434421 }
435422 else throw("Strict value is not equal to itself.")
436423 }
437424
438425
439426
440-@Callable(Z)
441-func createOrUpdate (q,aH,ag) = {
442- let at = ab(Z)
443- if ((at == at))
427+@Callable(aa)
428+func createOrUpdate (o,aI,ah) = {
429+ let au = ad(aa)
430+ if ((au == au))
444431 then {
445- let aI = !(ae(q))
446- if ((aI == aI))
432+ let aJ = !(af(o))
433+ if ((aJ == aJ))
447434 then {
448- let aJ = if ((aH == ""))
435+ let aK = if ((aI == ""))
449436 then nil
450- else [StringEntry(r(q), aH)]
451- $Tuple2((([BooleanEntry(p(q), true)] ++ aJ) ++ ap(q, ag)), aI)
437+ else [StringEntry(p(o), aI)]
438+ $Tuple2((([BooleanEntry(n(o), true)] ++ aK) ++ aq(o, ah)), aJ)
452439 }
453440 else throw("Strict value is not equal to itself.")
454441 }
457444
458445
459446
460-@Callable(Z)
461-func setLogo (q,aH) = {
462- let aK = [ab(Z), if (ae(q))
447+@Callable(aa)
448+func setLogo (o,aI) = {
449+ let aL = [ad(aa), if (af(o))
463450 then true
464451 else i()]
465- if ((aK == aK))
452+ if ((aL == aL))
466453 then {
467- let aL = if ((aH == ""))
468- then DeleteEntry(r(q))
469- else StringEntry(r(q), aH)
470-[aL]
454+ let aM = if ((aI == ""))
455+ then DeleteEntry(p(o))
456+ else StringEntry(p(o), aI)
457+[aM]
471458 }
472459 else throw("Strict value is not equal to itself.")
473460 }
474461
475462
476463
477-@Callable(Z)
478-func setVerified (q,ag) = {
479- let aK = [ab(Z), if (ae(q))
464+@Callable(aa)
465+func setVerified (o,ah) = {
466+ let aL = [ad(aa), if (af(o))
480467 then true
481468 else i()]
482- if ((aK == aK))
469+ if ((aL == aL))
483470 then {
484- let aM = if (!(ag))
471+ let aN = if (!(ah))
485472 then {
486- let ax = valueOrErrorMessage(addressFromString(P(this, o())), "invalid factory contract address")
487- invoke(ax, "onVerificationLoss", [q], nil)
473+ let ay = valueOrErrorMessage(addressFromString(P(this, m())), "invalid factory contract address")
474+ invoke(ay, "onVerificationLoss", [o], nil)
488475 }
489476 else unit
490- if ((aM == aM))
491- then $Tuple2(ap(q, ag), unit)
477+ if ((aN == aN))
478+ then $Tuple2(aq(o, ah), unit)
492479 else throw("Strict value is not equal to itself.")
493480 }
494481 else throw("Strict value is not equal to itself.")
496483
497484
498485
499-@Callable(Z)
500-func onEliminate (q) = {
501- let aN = valueOrElse(getInteger(u(q)), 0)
502- let aO = if ((aN > 0))
486+@Callable(aa)
487+func onEliminate (o) = {
488+ let aO = valueOrElse(getInteger(s(o)), 0)
489+ let aP = if ((aO > 0))
503490 then nil
504- else [DeleteEntry(r(q))]
505- $Tuple2(aO, unit)
491+ else [DeleteEntry(p(o))]
492+ $Tuple2(aP, unit)
506493 }
507494
508495
509496
510-@Callable(Z)
511-func setAdmins (aP) = {
512- let at = Y(Z)
513- if ((at == at))
514- then [StringEntry(m(), makeString(aP, a))]
497+@Callable(aa)
498+func setAdmins (aQ) = {
499+ let au = ac(aa)
500+ if ((au == au))
501+ then [StringEntry(k(), makeString(aQ, a))]
515502 else throw("Strict value is not equal to itself.")
516503 }
517504
518505
519506
520-@Callable(Z)
521-func setManager (aQ) = {
522- let at = Y(Z)
523- if ((at == at))
524- then {
525- let aR = fromBase58String(aQ)
526- if ((aR == aR))
527- then [StringEntry(l(), aQ)]
528- else throw("Strict value is not equal to itself.")
529- }
530- else throw("Strict value is not equal to itself.")
531- }
507+@Callable(aa)
508+func isVerifiedREADONLY (o) = $Tuple2(nil, S(o))
532509
533510
534-
535-@Callable(Z)
536-func confirmManager () = {
537- let aS = X()
538- let aT = if (isDefined(aS))
539- then true
540- else throw("No pending manager")
541- if ((aT == aT))
542- then {
543- let aU = if ((Z.callerPublicKey == value(aS)))
544- then true
545- else throw("You are not pending manager")
546- if ((aU == aU))
547- then [StringEntry(k(), toBase58String(value(aS))), DeleteEntry(l())]
548- else throw("Strict value is not equal to itself.")
549- }
550- else throw("Strict value is not equal to itself.")
551- }
552-
553-
554-
555-@Callable(Z)
556-func isVerifiedREADONLY (q) = $Tuple2(nil, S(q))
557-
558-
559-@Verifier(aV)
560-func aW () = {
561- let aX = {
562- let M = W()
511+@Verifier(aR)
512+func aS () = {
513+ let aT = {
514+ let M = X()
563515 if ($isInstanceOf(M, "ByteVector"))
564516 then {
565- let aa = M
566- aa
517+ let ab = M
518+ ab
567519 }
568520 else if ($isInstanceOf(M, "Unit"))
569- then aV.senderPublicKey
521+ then aR.senderPublicKey
570522 else throw("Match error")
571523 }
572- sigVerify(aV.bodyBytes, aV.proofs[0], aX)
524+ sigVerify(aR.bodyBytes, aR.proofs[0], aT)
573525 }
574526
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = ""
77
88 let c = 2
99
1010 let d = 0
1111
1212 let e = "COMMUNITY_VERIFIED"
1313
1414 let f = "POOLS_LP"
1515
1616 let g = [e, f]
1717
1818 func h () = throw("Permission denied")
1919
2020
2121 func i () = throw("Asset doesn't exists")
2222
2323
2424 func j () = throw("Invalid ticker")
2525
2626
27-func k () = "%s__managerPublicKey"
27+func k () = "%s__adminPubKeys"
2828
2929
30-func l () = "%s__pendingManagerPublicKey"
30+func l () = "%s__userPoolsContract"
3131
3232
33-func m () = "%s__adminPubKeys"
33+func m () = "%s__factoryContract"
3434
3535
36-func n () = "%s__userPoolsContract"
36+func n (o) = (("created_<" + o) + ">")
3737
3838
39-func o () = "%s__factoryContract"
39+func p (o) = (("logo_<" + o) + ">")
4040
4141
42-func p (q) = (("created_<" + q) + ">")
42+func q (o) = (("ticker_<" + o) + ">")
4343
4444
45-func r (q) = (("logo_<" + q) + ">")
45+func r (o) = (("status_<" + o) + ">")
4646
4747
48-func s (q) = (("ticker_<" + q) + ">")
48+func s (o) = makeString(["%s%s", "pools", o], a)
4949
5050
51-func t (q) = (("status_<" + q) + ">")
51+func t (u) = makeString(["%s%s", "ticker2assetId", u], a)
5252
5353
54-func u (q) = makeString(["%s%s", "pools", q], a)
54+func v (o) = makeString(["%s%s", "assetId2ticker", o], a)
5555
5656
57-func v (w) = makeString(["%s%s", "ticker2assetId", w], a)
57+func w (x,y) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", x, y], a)
5858
5959
60-func x (q) = makeString(["%s%s", "assetId2ticker", q], a)
60+func z (A) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", A], a)
6161
6262
63-func y (z,A) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", z, A], a)
63+func B (o) = makeString(["%s%s", "labels", o], a)
6464
6565
66-func B (C) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", C], a)
66+func C () = makeString(["%s", "labels"], a)
6767
6868
69-func D (q) = makeString(["%s%s", "labels", q], a)
69+func D (o) = makeString(["%s%s", "assetName", o], a)
7070
7171
72-func E () = makeString(["%s", "labels"], a)
72+func E () = "%s__managerVaultAddress"
7373
7474
75-func F (q) = makeString(["%s%s", "assetName", q], a)
75+func F () = "%s__managerPublicKey"
7676
7777
78-func G (q) = makeString(["%s%s", "assetDescription", q], a)
78+func G (o) = makeString(["%s%s", "assetDescription", o], a)
7979
8080
8181 func H (I,J,K) = {
8282 let L = makeString(["mandatory ", toString(I), ".", J, " is not defined"], "")
8383 valueOrErrorMessage({
8484 let M = K
8585 if ($isInstanceOf(M, "String"))
8686 then {
8787 let N = M
8888 getString(I, J)
8989 }
9090 else if ($isInstanceOf(M, "Int"))
9191 then {
9292 let O = M
9393 getInteger(I, J)
9494 }
9595 else throw("invalid entry type")
9696 }, L)
9797 }
9898
9999
100100 func P (I,J) = {
101101 let Q = H(I, J, "")
102102 if ($isInstanceOf(Q, "String"))
103103 then Q
104104 else throw("Couldn't cast Int|String to String")
105105 }
106106
107107
108108 func R (I,J) = {
109109 let Q = H(I, J, 0)
110110 if ($isInstanceOf(Q, "Int"))
111111 then Q
112112 else throw("Couldn't cast Int|String to Int")
113113 }
114114
115115
116-func S (q) = (valueOrElse(getInteger(t(q)), d) == c)
116+func S (o) = (valueOrElse(getInteger(r(o)), d) == c)
117117
118118
119119 func T () = {
120- let M = getString(E())
120+ let M = getString(C())
121121 if ($isInstanceOf(M, "String"))
122122 then {
123123 let U = M
124124 if ((size(U) == 0))
125125 then nil
126126 else split(U, a)
127127 }
128128 else nil
129129 }
130130
131131
132-func V (q) = {
133- let M = getString(D(q))
132+func V (o) = {
133+ let M = getString(B(o))
134134 if ($isInstanceOf(M, "String"))
135135 then {
136136 let U = M
137137 if ((size(U) == 0))
138138 then nil
139139 else split(U, a)
140140 }
141141 else nil
142142 }
143143
144144
145-func W () = {
146- let M = getString(k())
145+func W () = addressFromStringValue(getStringValue(E()))
146+
147+
148+func X () = {
149+ let Y = W()
150+ let M = getString(Y, F())
147151 if ($isInstanceOf(M, "String"))
148152 then {
149153 let U = M
150154 fromBase58String(U)
151155 }
152156 else if ($isInstanceOf(M, "Unit"))
153157 then unit
154158 else throw("Match error")
155159 }
156160
157161
158-func X () = {
159- let M = getString(l())
160- if ($isInstanceOf(M, "String"))
162+func Z (aa) = {
163+ let M = X()
164+ if ($isInstanceOf(M, "ByteVector"))
161165 then {
162- let U = M
163- fromBase58String(U)
166+ let ab = M
167+ (aa.callerPublicKey == ab)
164168 }
165169 else if ($isInstanceOf(M, "Unit"))
166- then unit
170+ then (aa.caller == this)
167171 else throw("Match error")
168172 }
169173
170174
171-func Y (Z) = {
172- let M = W()
173- if ($isInstanceOf(M, "ByteVector"))
174- then {
175- let aa = M
176- if ((Z.callerPublicKey == aa))
177- then true
178- else h()
179- }
180- else if ($isInstanceOf(M, "Unit"))
181- then if ((Z.caller == this))
182- then true
183- else h()
184- else throw("Match error")
175+func ac (aa) = if (Z(aa))
176+ then true
177+ else throw("permission denied")
178+
179+
180+func ad (aa) = {
181+ let ae = split(valueOrElse(getString(k()), b), a)
182+ if (containsElement(ae, toBase58String(aa.callerPublicKey)))
183+ then true
184+ else ac(aa)
185185 }
186186
187187
188-func ab (Z) = {
189- let ac = split(valueOrElse(getString(m()), b), a)
190- if (containsElement(ac, toBase58String(Z.callerPublicKey)))
191- then true
192- else {
193- let ad = Y(Z)
194- if ((ad == ad))
195- then true
196- else throw("Strict value is not equal to itself.")
197- }
198- }
188+func af (o) = valueOrElse(getBoolean(n(o)), false)
199189
200190
201-func ae (q) = valueOrElse(getBoolean(p(q)), false)
202-
203-
204-func af (ag) = if (ag)
191+func ag (ah) = if (ah)
205192 then c
206193 else d
207194
208195
209-func ah (q,ai,aj) = {
210- let ak = T()
211- let al = V(q)
212- let am = if (containsElement(ak, ai))
196+func ai (o,aj,ak) = {
197+ let al = T()
198+ let am = V(o)
199+ let an = if (containsElement(al, aj))
213200 then true
214201 else throw("Label doesn't exist")
215- if ((am == am))
202+ if ((an == an))
216203 then {
217- let an = if (containsElement(al, ai))
218- then if (aj)
204+ let ao = if (containsElement(am, aj))
205+ then if (ak)
219206 then throw("Label has already been added")
220- else al
221- else (al :+ ai)
222-[StringEntry(D(q), makeString(an, a))]
207+ else am
208+ else (am :+ aj)
209+[StringEntry(B(o), makeString(ao, a))]
223210 }
224211 else throw("Strict value is not equal to itself.")
225212 }
226213
227214
228-func ao (q,ai,aj) = {
229- let al = V(q)
230- let an = if (containsElement(al, ai))
231- then removeByIndex(al, value(indexOf(al, ai)))
232- else if (aj)
215+func ap (o,aj,ak) = {
216+ let am = V(o)
217+ let ao = if (containsElement(am, aj))
218+ then removeByIndex(am, value(indexOf(am, aj)))
219+ else if (ak)
233220 then throw("Label wasn't added")
234- else al
235-[StringEntry(D(q), makeString(an, a))]
221+ else am
222+[StringEntry(B(o), makeString(ao, a))]
236223 }
237224
238225
239-func ap (q,ag) = {
240- let aq = if (ag)
241- then ah(q, e, false)
242- else ao(q, e, false)
243- ([IntegerEntry(t(q), af(ag))] ++ aq)
226+func aq (o,ah) = {
227+ let ar = if (ah)
228+ then ai(o, e, false)
229+ else ap(o, e, false)
230+ ([IntegerEntry(r(o), ag(ah))] ++ ar)
244231 }
245232
246233
247-@Callable(Z)
248-func setAssetName (ar,as) = {
249- let at = ab(Z)
250- if ((at == at))
251- then [StringEntry(F(ar), as)]
234+@Callable(aa)
235+func setAssetName (as,at) = {
236+ let au = ad(aa)
237+ if ((au == au))
238+ then [StringEntry(D(as), at)]
252239 else throw("Strict value is not equal to itself.")
253240 }
254241
255242
256243
257-@Callable(Z)
258-func setAssetDescription (ar,au) = {
259- let at = ab(Z)
260- if ((at == at))
261- then [StringEntry(G(ar), au)]
244+@Callable(aa)
245+func setAssetDescription (as,av) = {
246+ let au = ad(aa)
247+ if ((au == au))
248+ then [StringEntry(G(as), av)]
262249 else throw("Strict value is not equal to itself.")
263250 }
264251
265252
266253
267-@Callable(Z)
268-func constructor (av,ak) = {
269- let at = Y(Z)
270- if ((at == at))
254+@Callable(aa)
255+func constructor (aw,al) = {
256+ let au = ac(aa)
257+ if ((au == au))
271258 then {
272- let aw = valueOrErrorMessage(addressFromString(av), "Invalid address")
273- if ((aw == aw))
274- then [StringEntry(n(), av), StringEntry(E(), makeString((g ++ ak), a))]
259+ let ax = valueOrErrorMessage(addressFromString(aw), "Invalid address")
260+ if ((ax == ax))
261+ then [StringEntry(l(), aw), StringEntry(C(), makeString((g ++ al), a))]
275262 else throw("Strict value is not equal to itself.")
276263 }
277264 else throw("Strict value is not equal to itself.")
278265 }
279266
280267
281268
282-@Callable(Z)
283-func constructorV2 (ax) = {
284- let at = Y(Z)
285- if ((at == at))
269+@Callable(aa)
270+func constructorV2 (ay) = {
271+ let au = ac(aa)
272+ if ((au == au))
286273 then {
287- let ay = valueOrErrorMessage(addressFromString(ax), "invalid factory contract address")
288- if ((ay == ay))
289- then [StringEntry(o(), ax)]
274+ let az = valueOrErrorMessage(addressFromString(ay), "invalid factory contract address")
275+ if ((az == az))
276+ then [StringEntry(m(), ay)]
290277 else throw("Strict value is not equal to itself.")
291278 }
292279 else throw("Strict value is not equal to itself.")
293280 }
294281
295282
296283
297-@Callable(Z)
298-func addAssetsLink (z,A,C) = {
299- let at = ab(Z)
300- if ((at == at))
301- then [StringEntry(y(z, A), C), StringEntry(B(C), makeString([z, A], a))]
284+@Callable(aa)
285+func addAssetsLink (x,y,A) = {
286+ let au = ad(aa)
287+ if ((au == au))
288+ then [StringEntry(w(x, y), A), StringEntry(z(A), makeString([x, y], a))]
302289 else throw("Strict value is not equal to itself.")
303290 }
304291
305292
306293
307-@Callable(Z)
308-func increaseAssetPoolsNumber (q) = {
309- let at = ab(Z)
310- if ((at == at))
294+@Callable(aa)
295+func increaseAssetPoolsNumber (o) = {
296+ let au = ad(aa)
297+ if ((au == au))
311298 then {
312- let az = u(q)
313- let aA = valueOrElse(getInteger(az), 0)
314-[IntegerEntry(az, (aA + 1))]
299+ let aA = s(o)
300+ let aB = valueOrElse(getInteger(aA), 0)
301+[IntegerEntry(aA, (aB + 1))]
315302 }
316303 else throw("Strict value is not equal to itself.")
317304 }
318305
319306
320307
321-@Callable(Z)
322-func createLabel (ai) = {
323- let ak = T()
324- let at = ab(Z)
325- if ((at == at))
308+@Callable(aa)
309+func createLabel (aj) = {
310+ let al = T()
311+ let au = ad(aa)
312+ if ((au == au))
326313 then {
327- let am = [if (!(contains(ai, a)))
314+ let an = [if (!(contains(aj, a)))
328315 then true
329- else throw("Invalid label name"), if (!(containsElement(ak, ai)))
316+ else throw("Invalid label name"), if (!(containsElement(al, aj)))
330317 then true
331318 else throw("Label exists")]
332- if ((am == am))
333- then [StringEntry(E(), makeString((ak :+ ai), a))]
319+ if ((an == an))
320+ then [StringEntry(C(), makeString((al :+ aj), a))]
334321 else throw("Strict value is not equal to itself.")
335322 }
336323 else throw("Strict value is not equal to itself.")
337324 }
338325
339326
340327
341-@Callable(Z)
342-func dropLabel (ai) = {
343- let ak = T()
344- let at = Y(Z)
345- if ((at == at))
328+@Callable(aa)
329+func dropLabel (aj) = {
330+ let al = T()
331+ let au = ac(aa)
332+ if ((au == au))
346333 then {
347- let am = if (containsElement(ak, ai))
334+ let an = if (containsElement(al, aj))
348335 then true
349336 else throw("Label doesn't exist")
350- if ((am == am))
351- then [StringEntry(E(), makeString(removeByIndex(ak, value(indexOf(ak, ai))), a))]
337+ if ((an == an))
338+ then [StringEntry(C(), makeString(removeByIndex(al, value(indexOf(al, aj))), a))]
352339 else throw("Strict value is not equal to itself.")
353340 }
354341 else throw("Strict value is not equal to itself.")
355342 }
356343
357344
358345
359-@Callable(Z)
360-func addLabel (q,ai) = {
361- let at = ab(Z)
362- if ((at == at))
363- then ah(q, ai, true)
346+@Callable(aa)
347+func addLabel (o,aj) = {
348+ let au = ad(aa)
349+ if ((au == au))
350+ then ai(o, aj, true)
364351 else throw("Strict value is not equal to itself.")
365352 }
366353
367354
368355
369-@Callable(Z)
370-func deleteLabel (q,ai) = {
371- let at = ab(Z)
372- if ((at == at))
373- then ao(q, ai, true)
356+@Callable(aa)
357+func deleteLabel (o,aj) = {
358+ let au = ad(aa)
359+ if ((au == au))
360+ then ap(o, aj, true)
374361 else throw("Strict value is not equal to itself.")
375362 }
376363
377364
378365
379-@Callable(Z)
380-func updateTicker (q,w) = {
381- let at = ab(Z)
382- if ((at == at))
366+@Callable(aa)
367+func updateTicker (o,u) = {
368+ let au = ad(aa)
369+ if ((au == au))
383370 then {
384- let aB = if (ae(q))
371+ let aC = if (af(o))
385372 then true
386373 else i()
387- if ((aB == aB))
374+ if ((aC == aC))
388375 then {
389- let aC = if ((w != ""))
376+ let aD = if ((u != ""))
390377 then true
391378 else j()
392- if ((aC == aC))
379+ if ((aD == aD))
393380 then {
394- let aD = ({
395- let M = getString(v(w))
396- if ($isInstanceOf(M, "String"))
397- then {
398- let aE = M
399-[DeleteEntry(x(aE))]
400- }
401- else if ($isInstanceOf(M, "Unit"))
402- then nil
403- else throw("Match error")
404- } ++ {
405- let M = getString(x(q))
381+ let aE = ({
382+ let M = getString(t(u))
406383 if ($isInstanceOf(M, "String"))
407384 then {
408385 let aF = M
409386 [DeleteEntry(v(aF))]
410387 }
411388 else if ($isInstanceOf(M, "Unit"))
412389 then nil
413390 else throw("Match error")
391+ } ++ {
392+ let M = getString(v(o))
393+ if ($isInstanceOf(M, "String"))
394+ then {
395+ let aG = M
396+[DeleteEntry(t(aG))]
397+ }
398+ else if ($isInstanceOf(M, "Unit"))
399+ then nil
400+ else throw("Match error")
414401 })
415- let aG = [StringEntry(x(q), w), StringEntry(v(w), q)]
416- (aD ++ aG)
402+ let aH = [StringEntry(v(o), u), StringEntry(t(u), o)]
403+ (aE ++ aH)
417404 }
418405 else throw("Strict value is not equal to itself.")
419406 }
420407 else throw("Strict value is not equal to itself.")
421408 }
422409 else throw("Strict value is not equal to itself.")
423410 }
424411
425412
426413
427-@Callable(Z)
428-func deleteTicker (q) = {
429- let at = ab(Z)
430- if ((at == at))
414+@Callable(aa)
415+func deleteTicker (o) = {
416+ let au = ad(aa)
417+ if ((au == au))
431418 then {
432- let w = valueOrErrorMessage(getString(x(q)), "Invalid asset")
433-[DeleteEntry(x(q)), DeleteEntry(v(w))]
419+ let u = valueOrErrorMessage(getString(v(o)), "Invalid asset")
420+[DeleteEntry(v(o)), DeleteEntry(t(u))]
434421 }
435422 else throw("Strict value is not equal to itself.")
436423 }
437424
438425
439426
440-@Callable(Z)
441-func createOrUpdate (q,aH,ag) = {
442- let at = ab(Z)
443- if ((at == at))
427+@Callable(aa)
428+func createOrUpdate (o,aI,ah) = {
429+ let au = ad(aa)
430+ if ((au == au))
444431 then {
445- let aI = !(ae(q))
446- if ((aI == aI))
432+ let aJ = !(af(o))
433+ if ((aJ == aJ))
447434 then {
448- let aJ = if ((aH == ""))
435+ let aK = if ((aI == ""))
449436 then nil
450- else [StringEntry(r(q), aH)]
451- $Tuple2((([BooleanEntry(p(q), true)] ++ aJ) ++ ap(q, ag)), aI)
437+ else [StringEntry(p(o), aI)]
438+ $Tuple2((([BooleanEntry(n(o), true)] ++ aK) ++ aq(o, ah)), aJ)
452439 }
453440 else throw("Strict value is not equal to itself.")
454441 }
455442 else throw("Strict value is not equal to itself.")
456443 }
457444
458445
459446
460-@Callable(Z)
461-func setLogo (q,aH) = {
462- let aK = [ab(Z), if (ae(q))
447+@Callable(aa)
448+func setLogo (o,aI) = {
449+ let aL = [ad(aa), if (af(o))
463450 then true
464451 else i()]
465- if ((aK == aK))
452+ if ((aL == aL))
466453 then {
467- let aL = if ((aH == ""))
468- then DeleteEntry(r(q))
469- else StringEntry(r(q), aH)
470-[aL]
454+ let aM = if ((aI == ""))
455+ then DeleteEntry(p(o))
456+ else StringEntry(p(o), aI)
457+[aM]
471458 }
472459 else throw("Strict value is not equal to itself.")
473460 }
474461
475462
476463
477-@Callable(Z)
478-func setVerified (q,ag) = {
479- let aK = [ab(Z), if (ae(q))
464+@Callable(aa)
465+func setVerified (o,ah) = {
466+ let aL = [ad(aa), if (af(o))
480467 then true
481468 else i()]
482- if ((aK == aK))
469+ if ((aL == aL))
483470 then {
484- let aM = if (!(ag))
471+ let aN = if (!(ah))
485472 then {
486- let ax = valueOrErrorMessage(addressFromString(P(this, o())), "invalid factory contract address")
487- invoke(ax, "onVerificationLoss", [q], nil)
473+ let ay = valueOrErrorMessage(addressFromString(P(this, m())), "invalid factory contract address")
474+ invoke(ay, "onVerificationLoss", [o], nil)
488475 }
489476 else unit
490- if ((aM == aM))
491- then $Tuple2(ap(q, ag), unit)
477+ if ((aN == aN))
478+ then $Tuple2(aq(o, ah), unit)
492479 else throw("Strict value is not equal to itself.")
493480 }
494481 else throw("Strict value is not equal to itself.")
495482 }
496483
497484
498485
499-@Callable(Z)
500-func onEliminate (q) = {
501- let aN = valueOrElse(getInteger(u(q)), 0)
502- let aO = if ((aN > 0))
486+@Callable(aa)
487+func onEliminate (o) = {
488+ let aO = valueOrElse(getInteger(s(o)), 0)
489+ let aP = if ((aO > 0))
503490 then nil
504- else [DeleteEntry(r(q))]
505- $Tuple2(aO, unit)
491+ else [DeleteEntry(p(o))]
492+ $Tuple2(aP, unit)
506493 }
507494
508495
509496
510-@Callable(Z)
511-func setAdmins (aP) = {
512- let at = Y(Z)
513- if ((at == at))
514- then [StringEntry(m(), makeString(aP, a))]
497+@Callable(aa)
498+func setAdmins (aQ) = {
499+ let au = ac(aa)
500+ if ((au == au))
501+ then [StringEntry(k(), makeString(aQ, a))]
515502 else throw("Strict value is not equal to itself.")
516503 }
517504
518505
519506
520-@Callable(Z)
521-func setManager (aQ) = {
522- let at = Y(Z)
523- if ((at == at))
524- then {
525- let aR = fromBase58String(aQ)
526- if ((aR == aR))
527- then [StringEntry(l(), aQ)]
528- else throw("Strict value is not equal to itself.")
529- }
530- else throw("Strict value is not equal to itself.")
531- }
507+@Callable(aa)
508+func isVerifiedREADONLY (o) = $Tuple2(nil, S(o))
532509
533510
534-
535-@Callable(Z)
536-func confirmManager () = {
537- let aS = X()
538- let aT = if (isDefined(aS))
539- then true
540- else throw("No pending manager")
541- if ((aT == aT))
542- then {
543- let aU = if ((Z.callerPublicKey == value(aS)))
544- then true
545- else throw("You are not pending manager")
546- if ((aU == aU))
547- then [StringEntry(k(), toBase58String(value(aS))), DeleteEntry(l())]
548- else throw("Strict value is not equal to itself.")
549- }
550- else throw("Strict value is not equal to itself.")
551- }
552-
553-
554-
555-@Callable(Z)
556-func isVerifiedREADONLY (q) = $Tuple2(nil, S(q))
557-
558-
559-@Verifier(aV)
560-func aW () = {
561- let aX = {
562- let M = W()
511+@Verifier(aR)
512+func aS () = {
513+ let aT = {
514+ let M = X()
563515 if ($isInstanceOf(M, "ByteVector"))
564516 then {
565- let aa = M
566- aa
517+ let ab = M
518+ ab
567519 }
568520 else if ($isInstanceOf(M, "Unit"))
569- then aV.senderPublicKey
521+ then aR.senderPublicKey
570522 else throw("Match error")
571523 }
572- sigVerify(aV.bodyBytes, aV.proofs[0], aX)
524+ sigVerify(aR.bodyBytes, aR.proofs[0], aT)
573525 }
574526

github/deemru/w8io/026f985 
119.51 ms