tx · BATGpHBi6zcHXq2Q6n2f9DP7xt3tn529LRdQmX7gcE1y

3MwNfynRH5bFf25GzWjcEdi6kSkX4AwR9Bz:  -0.00500000 Waves

2023.03.16 11:34 [2492340] smart account 3MwNfynRH5bFf25GzWjcEdi6kSkX4AwR9Bz > SELF 0.00000000 Waves

{ "type": 13, "id": "BATGpHBi6zcHXq2Q6n2f9DP7xt3tn529LRdQmX7gcE1y", "fee": 500000, "feeAssetId": null, "timestamp": 1678955700452, "version": 2, "chainId": 84, "sender": "3MwNfynRH5bFf25GzWjcEdi6kSkX4AwR9Bz", "senderPublicKey": "CP4TEKgebTgiDjwiN6XPMRxxtJr9ZNVotimqif4HEqx5", "proofs": [ "2JUHrYkuV7tKAdenqZS2nMP9VE1cVd54XYzdAjoyNTLXtNN7SFurwczQ8fkqUoaay3rifRPpmXm4med8jkTjwYmg" ], "script": null, "height": 2492340, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C1eiGvZaaLDBGuaRXs6y3E811HDFmtoioeCCN48voGuK Next: DPRBicGgWKLWFQAEyeTLHXxDLUDixATiX7nevbiRZGeZ Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
2-{-# SCRIPT_TYPE ACCOUNT #-}
3-{-# CONTENT_TYPE DAPP #-}
4-let a = 8
5-
6-let b = 100000000
7-
8-let c = 18
9-
10-let d = toBigInt(1000000000000000000)
11-
12-let e = "__"
13-
14-let f = b
15-
16-let g = toBigInt(0)
17-
18-let h = toBigInt(1)
19-
20-func i (j) = makeString(["staking.ride:", toString(this), j], " ")
21-
22-
23-func k (j) = throw(i(j))
24-
25-
26-func l (m) = {
27- let n = m
28- if ($isInstanceOf(n, "List[Any]"))
29- then {
30- let o = n
31- o
32- }
33- else throw("fail to cast into List[Any]")
34- }
35-
36-
37-func p (m) = {
38- let n = m
39- if ($isInstanceOf(n, "Int"))
40- then {
41- let q = n
42- q
43- }
44- else throw("fail to cast into Int")
45- }
46-
47-
48-func r (m) = {
49- let n = m
50- if ($isInstanceOf(n, "String"))
51- then {
52- let s = n
53- s
54- }
55- else throw("fail to cast into Int")
56- }
57-
58-
59-func t (m) = {
60- let n = m
61- if ($isInstanceOf(n, "ByteVector"))
62- then {
63- let u = n
64- u
65- }
66- else throw("fail to cast into Int")
67- }
68-
69-
70-func v (w,x) = valueOrErrorMessage(getString(w, x), (("mandatory this." + x) + " is not defined"))
71-
72-
73-func y (w,x) = valueOrErrorMessage(getString(w, x), (((("mandatory " + toString(w)) + ".") + x) + " is not defined"))
74-
75-
76-func z (w,x) = valueOrElse(getInteger(w, x), 0)
77-
78-
79-func A (w,x,B) = valueOrElse(getInteger(w, x), B)
80-
81-
82-func C (w,x) = valueOrErrorMessage(getInteger(w, x), (("mandatory this." + x) + " is not defined"))
83-
84-
85-func D (w,x) = value(parseBigInt(valueOrElse(getString(w, x), "0")))
86-
87-
88-func E (w,x,B) = {
89- let n = getString(w, x)
90- if ($isInstanceOf(n, "String"))
91- then {
92- let F = n
93- value(parseBigInt(F))
94- }
95- else if ($isInstanceOf(n, "Unit"))
96- then B
97- else throw("Match error")
98- }
99-
100-
101-func G (H,I) = fraction(toBigInt(H), d, toBigInt(I))
102-
103-
104-func J (m,K) = toInt(fraction(m, toBigInt(K), d))
105-
106-
107-func L () = "%s%s__config__factoryAddress"
108-
109-
110-func M () = "%s__votingEmissionContract"
111-
112-
113-let N = 1
114-
115-let O = 2
116-
117-let P = 3
118-
119-let Q = 4
120-
121-let R = 5
122-
123-let S = 6
124-
125-let T = 7
126-
127-func U () = "%s__factoryConfig"
128-
129-
130-func V () = "%s__managerPublicKey"
131-
132-
133-func W () = "%s__pendingManagerPublicKey"
134-
135-
136-func X () = "%s__stablePoolAddonAddr"
137-
138-
139-func Y () = "%s__addonAddr"
140-
141-
142-func Z (aa) = makeString(["%s%s%s", aa, "mappings__lpAsset2PoolContract"], e)
143-
144-
145-func ab () = "%s__lpTokensList"
146-
147-
148-func ac (aa) = makeString(["%s%s%s", aa, "mappings__lpAsset2PoolContract"], e)
149-
150-
151-func ad (ae) = makeString(["%s%s", "poolWeight", ae], e)
152-
153-
154-func af (ag) = split(valueOrElse(getString(ag, ab()), ""), e)
155-
156-
157-func ah (ag) = split(y(ag, U()), e)
158-
159-
160-func ai (aj) = addressFromStringValue(aj[O])
161-
162-
163-func ak (aj) = addressFromStringValue(aj[R])
164-
165-
166-func al (aj) = addressFromStringValue(aj[N])
167-
168-
169-func am () = "%s%s__ratePerBlock__current"
170-
171-
172-func an () = "%s%s__ratePerBlockMax__current"
173-
174-
175-func ao () = "%s%s__emission__startBlock"
176-
177-
178-func ap () = "%s%s__emission__duration"
179-
180-
181-func aq () = "%s%s__emission__endBlock"
182-
183-
184-func ar (as,at) = makeString(["%s%s%s__staked", as, at], e)
185-
186-
187-func au (at) = ("%s%s%s__staked__total__" + at)
188-
189-
190-func av (at,as) = makeString(["%s%s%s__claimed", as, at], e)
191-
192-
193-func aw (at,as) = makeString(["%s%s%s__claimedMinReward", as, at], e)
194-
195-
196-func ax (at,as) = makeString(["%s%s%s__claimedBoostReward", as, at], e)
197-
198-
199-func ay (at) = makeString(["%s%s%s__claimed__total", at], e)
200-
201-
202-func az (x) = valueOrElse(getInteger(this, x), 0)
203-
204-
205-func aA (aB) = makeString(["%s%s%s", aB, "total", "bal"], e)
206-
207-
208-func aC (aB,aD) = makeString(["%s%s%s", aB, aD, "bal"], e)
209-
210-
211-func aE (aB) = makeString(["%s%s%s", aB, "total", "balINT"], e)
212-
213-
214-func aF (aB,aD) = makeString(["%s%s%s", aB, aD, "balINT"], e)
215-
216-
217-func aG (aB) = makeString(["%s%s%s", aB, "total", "lastUpd"], e)
218-
219-
220-func aH (aB,aD) = makeString(["%s%s%s", aB, aD, "lastUpd"], e)
221-
222-
223-func aI (aB) = makeString(["%s%s%s%s", aB, "common", "lpInt"], e)
224-
225-
226-func aJ (aB) = makeString(["%s%s%s%s", aB, "common", "lpIntH"], e)
227-
228-
229-func aK (aB,aD) = makeString(["%s%s%s%s", aB, aD, "lpInt"], e)
230-
231-
232-func aL (aB,aD) = makeString(["%s%s%s%s", aB, aD, "lpIntH"], e)
233-
234-
235-func aM (aB) = makeString(["%s", aB, "wxPerLp"], e)
236-
237-
238-func aN (aB) = makeString(["%s", aB, "wxPerLpX18"], e)
239-
240-
241-func aO (aB,aD) = makeString(["%s%s%s%s", aB, aD, "uIntL"], e)
242-
243-
244-func aP (aQ,aD,aR) = makeString(["%s%s%s%s__history", aQ, aD, aR], e)
245-
246-
247-func aS (aD,aB,aQ,aT) = makeString(["%s%s%s%d%d%d", aD, aB, aQ, toString(height), toString(lastBlock.timestamp), toString(aT)], e)
248-
249-
250-func aU (aQ,aD,aB,aT,aV) = StringEntry(aP(aQ, aD, toBase58String(aV)), aS(aD, aB, aQ, aT))
251-
252-
253-let aW = v(this, L())
254-
255-let aX = addressFromStringValue(aW)
256-
257-let aj = ah(aX)
258-
259-let aY = ak(aj)
260-
261-let aZ = ai(aj)
262-
263-let ba = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(makeString(["%s", "lpStakingPoolsContract"], e)), i("lp_staking_pools contract address is undefined"))), i("invalid lp_staking_pools contract address"))
264-
265-func bb (aB) = makeString(["%s%s", aB, "nextUser"], e)
266-
267-
268-func bc (aB) = makeString(["users", aB], e)
269-
270-
271-func bd (be) = makeString(["%s%s%s", be, "head"], e)
272-
273-
274-func bf (be) = makeString(["%s%s%s", be, "size"], e)
275-
276-
277-func bg (be,bh) = makeString(["%s%s%s%s", be, bh, "prev"], e)
278-
279-
280-func bi (be,bh) = makeString(["%s%s%s%s", be, bh, "next"], e)
281-
282-
283-func bj (be,bh) = {
284- let bk = getString(this, bd(be))
285- let bl = getString(this, bg(be, bh))
286- let bm = getString(this, bi(be, bh))
287- if (if ((bh == valueOrElse(bk, "")))
288- then true
289- else (bl != unit))
290- then true
291- else (bm != unit)
292- }
293-
294-
295-func bn (be,bh) = {
296- let bk = getString(this, bd(be))
297- let bo = valueOrElse(getInteger(this, bf(be)), 0)
298- let bp = if (!(bj(be, bh)))
299- then true
300- else throw("Node exists")
301- if ((bp == bp))
302- then (([IntegerEntry(bf(be), (bo + 1))] ++ (if ((bk != unit))
303- then [StringEntry(bi(be, bh), value(bk)), StringEntry(bg(be, value(bk)), bh)]
304- else nil)) ++ [StringEntry(bd(be), bh)])
305- else throw("Strict value is not equal to itself.")
306- }
307-
308-
309-func bq (be,bh) = {
310- let bk = getString(this, bd(be))
311- let bo = valueOrElse(getInteger(this, bf(be)), 0)
312- let bl = getString(this, bg(be, bh))
313- let bm = getString(this, bi(be, bh))
314- ([IntegerEntry(bf(be), (bo - 1))] ++ (if (if ((bl != unit))
315- then (bm != unit)
316- else false)
317- then [StringEntry(bi(be, value(bl)), value(bm)), StringEntry(bg(be, value(bm)), value(bl)), DeleteEntry(bg(be, bh)), DeleteEntry(bi(be, bh))]
318- else if ((bm != unit))
319- then [StringEntry(bd(be), value(bm)), DeleteEntry(bi(be, bh)), DeleteEntry(bg(be, value(bm)))]
320- else if ((bl != unit))
321- then [DeleteEntry(bg(be, bh)), DeleteEntry(bi(be, value(bl)))]
322- else if ((bh == valueOrElse(bk, "")))
323- then [DeleteEntry(bd(be))]
324- else throw(((("invalid node: " + be) + ".") + bh))))
325- }
326-
327-
328-func br (bs,bt,bu,bv) = if (if ((bt == g))
329- then (bs > g)
330- else false)
331- then g
332- else if ((bs == g))
333- then bu
334- else if (if ((bt > g))
335- then (bs > g)
336- else false)
337- then value(parseBigInt(v(this, bv)))
338- else throw("calcWxPerLpIntegralUserLast: unexpected state")
339-
340-
341-func bw (at,bx,by) = {
342- let bz = au(at)
343- let bA = toBigInt(az(bz))
344- let bB = if ((bA == g))
345- then h
346- else bA
347- let bC = getIntegerValue(aX, ad(bx))
348- let bD = C(aY, ao())
349- let bE = 1000
350- let bF = (C(aY, am()) * bE)
351- let bG = fraction(bF, bC, (f * 3))
352- let bH = aI(at)
353- let bI = aJ(at)
354- let bJ = aM(at)
355- let bK = A(this, bI, bD)
356- let bL = D(this, bH)
357- let bM = 0
358- let bN = max([(height - bK), 0])
359- let bO = if ((bM != 0))
360- then toBigInt(bM)
361- else fraction(toBigInt(bG), toBigInt(b), bB)
362- let bP = (bA + toBigInt(by))
363- let bQ = if ((bP == g))
364- then h
365- else bP
366- let bu = (bL + (bO * toBigInt(bN)))
367- let bR = (toBigInt(bG) / bQ)
368- let bS = height
369- let bT = makeString([toString(bu), toString(bN), toString(bO), toString(bA), toString(bG), toString(bF), toString(bC)], "::")
370- $Tuple3(bu, [StringEntry(bH, toString(bu)), IntegerEntry(bI, bS), StringEntry(bJ, toString(bR))], bT)
371- }
372-
373-
374-func bU (at,as,bx,by) = {
375- let bV = bw(at, bx, by)
376- let bu = bV._1
377- let bW = bV._2
378- let bX = bV._3
379- let bE = 1000
380- let bY = ar(as, at)
381- let bs = az(bY)
382- let bZ = aK(at, as)
383- let ca = aL(at, as)
384- let bv = aO(at, as)
385- let cb = D(this, bZ)
386- let bt = z(this, ca)
387- let cc = br(toBigInt(bs), toBigInt(bt), bu, bv)
388- let cd = (b * bE)
389- let ce = max([(cb + fraction((bu - cc), toBigInt(bs), toBigInt(cd))), g])
390- let cf = bu
391- let cg = height
392- let bT = makeString([toString(cb), toString(cc), toString(bs), bX, toString(height)], "::")
393- $Tuple3(ce, (bW ++ [StringEntry(bZ, toString(ce)), IntegerEntry(ca, cg), StringEntry(bv, toString(cf))]), bT)
394- }
395-
396-
397-func ch () = {
398- let n = getString(V())
399- if ($isInstanceOf(n, "String"))
400- then {
401- let F = n
402- fromBase58String(F)
403- }
404- else if ($isInstanceOf(n, "Unit"))
405- then unit
406- else throw("Match error")
407- }
408-
409-
410-func ci () = {
411- let n = getString(W())
412- if ($isInstanceOf(n, "String"))
413- then {
414- let F = n
415- fromBase58String(F)
416- }
417- else if ($isInstanceOf(n, "Unit"))
418- then unit
419- else throw("Match error")
420- }
421-
422-
423-let cj = throw("Permission denied")
424-
425-func ck (cl) = if ((cl.caller == this))
426- then true
427- else cj
428-
429-
430-func cm (cl) = {
431- let n = ch()
432- if ($isInstanceOf(n, "ByteVector"))
433- then {
434- let cn = n
435- if ((cl.callerPublicKey == cn))
436- then true
437- else cj
438- }
439- else if ($isInstanceOf(n, "Unit"))
440- then if ((cl.caller == this))
441- then true
442- else cj
443- else throw("Match error")
444- }
445-
446-
447-func co (cl,aB,cp,aD,cq,aT) = {
448- let as = toString(aD)
449- let at = toBase58String(aB)
450- let bx = toString(cp)
451- let bY = ar(as, at)
452- let bz = au(at)
453- let bs = az(bY)
454- let bA = az(bz)
455- let cr = bU(at, as, bx, -(aT))._2
456- let be = bc(at)
457- let cs = if (if (bj(be, as))
458- then (aT == bs)
459- else false)
460- then bq(be, as)
461- else nil
462- let ct = D(this, aw(at, as))
463- let ce = bU(at, as, bx, 0)._1
464- let cu = (ce - ct)
465- let cv = true
466- let cw = if ((cu > g))
467- then invoke(this, "claimWxINTERNAL", [at, as, cv], nil)
468- else unit
469- if ((cw == cw))
470- then if ((aT > bs))
471- then throw(((((((("passed amount=" + toString(aT)) + " is greater than available=") + toString(bs)) + ". lpAssetId=") + at) + ". stakedByUserKEY=") + bY))
472- else (([IntegerEntry(bY, (bs - aT)), IntegerEntry(bz, (bA - aT)), ScriptTransfer(cq, aT, aB), aU("unstake", as, at, aT, cl.transactionId)] ++ cr) ++ cs)
473- else throw("Strict value is not equal to itself.")
474- }
475-
476-
477-@Callable(cl)
478-func constructor (cx) = {
479- let cy = cm(cl)
480- if ((cy == cy))
481- then [StringEntry(L(), cx)]
482- else throw("Strict value is not equal to itself.")
483- }
484-
485-
486-
487-@Callable(cl)
488-func constructorV2 (cz) = {
489- let cA = [cm(cl), if ((addressFromString(cz) != unit))
490- then true
491- else "invalid voting emission contract address"]
492- if ((cA == cA))
493- then [StringEntry(M(), cz)]
494- else throw("Strict value is not equal to itself.")
495- }
496-
497-
498-
499-@Callable(cl)
500-func setManager (cB) = {
501- let cy = cm(cl)
502- if ((cy == cy))
503- then {
504- let cC = fromBase58String(cB)
505- if ((cC == cC))
506- then [StringEntry(W(), cB)]
507- else throw("Strict value is not equal to itself.")
508- }
509- else throw("Strict value is not equal to itself.")
510- }
511-
512-
513-
514-@Callable(cl)
515-func confirmManager () = {
516- let cD = ci()
517- let cE = if (isDefined(cD))
518- then true
519- else throw("No pending manager")
520- if ((cE == cE))
521- then {
522- let cF = if ((cl.callerPublicKey == value(cD)))
523- then true
524- else throw("You are not pending manager")
525- if ((cF == cF))
526- then [StringEntry(V(), toBase58String(value(cD))), DeleteEntry(W())]
527- else throw("Strict value is not equal to itself.")
528- }
529- else throw("Strict value is not equal to itself.")
530- }
531-
532-
533-
534-@Callable(cl)
535-func stake () = if ((size(cl.payments) != 1))
536- then throw("invalid payment - exact one payment must be attached")
537- else {
538- let cG = cl.payments[0]
539- let aB = value(cG.assetId)
540- let at = toBase58String(aB)
541- let aT = cG.amount
542- let bx = valueOrErrorMessage(getString(aX, Z(at)), ("unsupported lp asset " + at))
543- let cH = toString(cl.caller)
544- let as = if ((cH == bx))
545- then toString(cl.originCaller)
546- else cH
547- let bY = ar(as, at)
548- let bz = au(at)
549- let bs = az(bY)
550- let bA = az(bz)
551- let cI = bU(at, as, bx, aT)
552- let ce = cI._1
553- let cr = cI._2
554- let bT = cI._3
555- let be = bc(at)
556- let cs = if (bj(be, as))
557- then nil
558- else bn(be, as)
559- (([IntegerEntry(bY, (bs + aT)), IntegerEntry(bz, (bA + aT)), aU("stake", as, at, aT, cl.transactionId)] ++ cr) ++ cs)
560- }
561-
562-
563-
564-@Callable(cl)
565-func unstake (at,aT) = {
566- let aB = fromBase58String(at)
567- let bx = valueOrErrorMessage(getString(aX, Z(at)), ("unsupported lp asset " + at))
568- let cp = addressFromStringValue(bx)
569- let cJ = valueOrElse(getString(cp, Y()), bx)
570- let cH = toString(cl.caller)
571- let aD = if (if ((cH == bx))
572- then true
573- else (cH == cJ))
574- then cl.originCaller
575- else cl.caller
576- let cq = cl.caller
577- co(cl, aB, cp, aD, cq, aT)
578- }
579-
580-
581-
582-@Callable(cl)
583-func unstakeINTERNAL (aB,aT,aD,cq) = {
584- let at = toBase58String(aB)
585- let cp = addressFromStringValue(valueOrErrorMessage(getString(aX, Z(at)), ("unsupported lp asset " + at)))
586- let cy = if ((cl.caller == cp))
587- then true
588- else cj
589- if ((cy == cy))
590- then co(cl, aB, cp, Address(aD), Address(cq), aT)
591- else throw("Strict value is not equal to itself.")
592- }
593-
594-
595-
596-@Callable(cl)
597-func claimWx (at) = {
598- let as = toString(cl.caller)
599- let cv = true
600- let cK = invoke(this, "claimWxINTERNAL", [at, as, cv], nil)
601- $Tuple2(nil, cK)
602- }
603-
604-
605-
606-@Callable(cl)
607-func claimWxDoNotThrow (at) = {
608- let as = toString(cl.caller)
609- let cv = false
610- let cK = invoke(this, "claimWxINTERNAL", [at, as, cv], nil)
611- $Tuple2(nil, cK)
612- }
613-
614-
615-
616-@Callable(cl)
617-func claimWxINTERNAL (at,as,cv) = {
618- let cy = ck(cl)
619- if ((cy == cy))
620- then {
621- let aD = valueOrErrorMessage(addressFromString(as), "claimWxINTERNAL: invalid user address")
622- let bx = y(aX, ac(at))
623- let cL = av(at, as)
624- let cM = ay(at)
625- let cN = aw(at, as)
626- let cO = ax(at, as)
627- let cP = D(this, cL)
628- let ct = D(this, cN)
629- let cQ = D(this, cO)
630- let cR = D(this, cM)
631- let cS = bU(at, as, bx, 0)
632- let ce = cS._1
633- let cr = cS._2
634- let bT = cS._3
635- let cu = max([(ce - ct), g])
636- if ((g >= cu))
637- then if (cv)
638- then throw("nothing to claim")
639- else $Tuple2(nil, 0)
640- else {
641- let cT = max([p(l(invoke(aZ, "claimWxBoost", [at, as], nil))[0]), 0])
642- let cU = cu
643- let cV = min([(cU * toBigInt(2)), toBigInt(cT)])
644- let cW = (cU + cV)
645- let cX = t(l(invoke(aY, "emit", [toInt(cU)], nil))[0])
646- let cY = l(invoke(aY, "emit", [toInt(cV)], nil))
647- if ((cY == cY))
648- then {
649- let cZ = ((cP + cU) + cV)
650- let da = (ct + cU)
651- let db = (cQ + cV)
652- let dc = (cR + cu)
653- $Tuple2([StringEntry(cL, toString(cZ)), StringEntry(cN, toString(da)), StringEntry(cO, toString(db)), StringEntry(cM, toString(dc)), ScriptTransfer(aD, toInt(cU), cX), ScriptTransfer(aD, toInt(cV), cX), aU("claim", as, at, toInt(cu), cl.transactionId)], toInt(cW))
654- }
655- else throw("Strict value is not equal to itself.")
656- }
657- }
658- else throw("Strict value is not equal to itself.")
659- }
660-
661-
662-
663-@Callable(cl)
664-func claimWxBulkInternalREADONLY (dd,de,as,df) = if ((dd == size(de)))
665- then $Tuple2(nil, df)
666- else {
667- let aB = de[dd]
668- let dg = split({
669- let dh = invoke(this, "claimWxREADONLY", [aB, as], nil)
670- if ($isInstanceOf(dh, "String"))
671- then dh
672- else throw(($getType(dh) + " couldn't be cast to String"))
673- }, e)
674- let di = dg[3]
675- let dj = dg[4]
676- let dk = (df :+ makeString(["%d%d", di, dj], e))
677- let dl = {
678- let dh = invoke(this, "claimWxBulkInternalREADONLY", [(dd + 1), de, as, dk], nil)
679- if ($isInstanceOf(dh, "List[Any]"))
680- then dh
681- else throw(($getType(dh) + " couldn't be cast to List[Any]"))
682- }
683- if ((dl == dl))
684- then $Tuple2(nil, dl)
685- else throw("Strict value is not equal to itself.")
686- }
687-
688-
689-
690-@Callable(cl)
691-func claimWxBulkREADONLY (de,as) = {
692- let dk = invoke(this, "claimWxBulkInternalREADONLY", [0, de, as, nil], nil)
693- $Tuple2(nil, dk)
694- }
695-
696-
697-
698-@Callable(cl)
699-func claimWxREADONLY (at,as) = {
700- let bY = ar(as, at)
701- let bz = au(at)
702- let cL = av(at, as)
703- let cN = aw(at, as)
704- let bs = az(bY)
705- let bA = az(bz)
706- let cP = D(this, cL)
707- let ct = D(this, cN)
708- let bx = y(aX, ac(at))
709- let bC = getIntegerValue(aX, ad(bx))
710- let dm = C(aY, am())
711- let bD = C(aY, ao())
712- let dn = if ((bD > height))
713- then 0
714- else (height - bD)
715- let do = fraction((dm * dn), bC, f)
716- let dp = fraction(do, bs, bA)
717- let dq = bU(at, as, bx, 0)
718- let ce = dq._1
719- let cr = dq._2
720- let bT = dq._3
721- let cu = max([(ce - ct), g])
722- let dr = l(invoke(aZ, "claimWxBoostREADONLY", [at, as], nil))
723- let cT = max([p(dr[0]), 0])
724- let ds = r(dr[1])
725- let cU = cu
726- let cV = min([(cU * toBigInt(2)), toBigInt(cT)])
727- let cW = (cU + cV)
728- $Tuple2(nil, makeString(["%s%s%d%d%d%d%s", at, as, toString(cW), toString(cP), toString(cU), toString(cV), "soon"], e))
729- }
730-
731-
732-
733-@Callable(cl)
734-func stakedByUserREADONLY (at,as) = {
735- let bs = valueOrElse(getInteger(ar(as, at)), 0)
736- $Tuple2(nil, bs)
737- }
738-
739-
740-
741-@Callable(cl)
742-func usersListTraversal (aB) = {
743- let cy = if ((toBase58String(cl.caller.bytes) == valueOrElse(getString(this, M()), "")))
744- then true
745- else cm(cl)
746- if ((cy == cy))
747- then {
748- let be = bc(aB)
749- let dt = getString(bb(aB))
750- let bk = getString(bd(be))
751- let n = dt
752- if ($isInstanceOf(n, "Unit"))
753- then {
754- let du = bk
755- if ($isInstanceOf(du, "Unit"))
756- then $Tuple2(nil, false)
757- else if ($isInstanceOf(du, "String"))
758- then {
759- let dv = du
760- $Tuple2([StringEntry(bb(aB), dv)], true)
761- }
762- else throw("Match error")
763- }
764- else if ($isInstanceOf(n, "String"))
765- then {
766- let aD = n
767- let ct = D(this, aw(aB, aD))
768- let cp = y(aX, ac(aB))
769- let ce = bU(aB, aD, cp, 0)._1
770- let cu = (ce - ct)
771- let cv = true
772- let cw = if ((cu > g))
773- then invoke(this, "claimWxINTERNAL", [aB, aD, cv], nil)
774- else unit
775- if ((cw == cw))
776- then {
777- let dw = getString(bi(be, aD))
778- let du = dw
779- if ($isInstanceOf(du, "Unit"))
780- then $Tuple2([DeleteEntry(bb(aB))], false)
781- else if ($isInstanceOf(du, "String"))
782- then {
783- let dx = du
784- $Tuple2([StringEntry(bb(aB), dx)], true)
785- }
786- else throw("Match error")
787- }
788- else throw("Strict value is not equal to itself.")
789- }
790- else throw("Match error")
791- }
792- else throw("Strict value is not equal to itself.")
793- }
794-
795-
796-
797-@Callable(cl)
798-func onModifyWeight (at,bx) = if ((cl.caller != aX))
799- then throw("permissions denied")
800- else {
801- let dy = bw(at, bx, 0)
802- let bu = dy._1
803- let bW = dy._2
804- let bX = dy._3
805- bW
806- }
807-
808-
809-@Verifier(dz)
810-func dA () = {
811- let dB = {
812- let n = ch()
813- if ($isInstanceOf(n, "ByteVector"))
814- then {
815- let cn = n
816- cn
817- }
818- else if ($isInstanceOf(n, "Unit"))
819- then dz.senderPublicKey
820- else throw("Match error")
821- }
822- sigVerify(dz.bodyBytes, dz.proofs[0], dB)
823- }
824-
1+# no script

github/deemru/w8io/169f3d6 
55.08 ms