tx · EuP2aX2tH2ZQYRYmZmHRg9P7PpKetkVW2xd3gDa6rgaF

3MyN19SDzDpXyEtabWvag2P5mkeFrdFVd4h:  -0.05000000 Waves

2023.01.02 15:48 [2387374] smart account 3MyN19SDzDpXyEtabWvag2P5mkeFrdFVd4h > SELF 0.00000000 Waves

{ "type": 13, "id": "EuP2aX2tH2ZQYRYmZmHRg9P7PpKetkVW2xd3gDa6rgaF", "fee": 5000000, "feeAssetId": null, "timestamp": 1672663687011, "version": 2, "chainId": 84, "sender": "3MyN19SDzDpXyEtabWvag2P5mkeFrdFVd4h", "senderPublicKey": "4HqqczFwZHAsxp1oNq8dQkRStfCKBL79X99icQ2B6FYn", "proofs": [ "4jvDseJU1tCZBsSLhyEFQCn4DWsvd4Nfs6Znm6Q4KUB6ZiUzefXtuqLcocFZJsiePVA51mLbjbpqwuLFgvs6c8nD" ], "script": "base64:AAIFAAAAAAAAACQIAhIECgIICBIECgIIARIDCgEIEgUKAwgBCBIDCgEIEgMKAQgAAAAZAAAAAANTRVACAAAAAl9fAAAAABlJZHhDb250cm9sQ2ZnTmV1dHJpbm9EYXBwAAAAAAAAAAABAAAAABhJZHhDb250cm9sQ2ZnQXVjdGlvbkRhcHAAAAAAAAAAAAIAAAAAFElkeENvbnRyb2xDZmdScGREYXBwAAAAAAAAAAADAAAAABVJZHhDb250cm9sQ2ZnTWF0aERhcHAAAAAAAAAAAAQAAAAAHElkeENvbnRyb2xDZmdMaXF1aWRhdGlvbkRhcHAAAAAAAAAAAAUAAAAAFUlkeENvbnRyb2xDZmdSZXN0RGFwcAAAAAAAAAAABgAAAAAdSWR4Q29udHJvbENmZ05vZGVSZWdpc3RyeURhcHAAAAAAAAAAAAcAAAAAHElkeENvbnRyb2xDZmdOc2J0U3Rha2luZ0RhcHAAAAAAAAAAAAgAAAAAGUlkeENvbnRyb2xDZmdNZWRpYXRvckRhcHAAAAAAAAAAAAkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAKbWFuZGF0b3J5IAkABCUAAAABBQAAAAdhZGRyZXNzAgAAAAEuBQAAAANrZXkCAAAADyBpcyBub3QgZGVmaW5lZAEAAAARa2V5Q29udHJvbEFkZHJlc3MAAAAAAgAAABwlcyVzX19jb25maWdfX2NvbnRyb2xBZGRyZXNzAQAAAA1rZXlDb250cm9sQ2ZnAAAAAAIAAAARJXNfX2NvbnRyb2xDb25maWcBAAAAFHJlYWRDb250cm9sQ2ZnT3JGYWlsAAAAAQAAAAdjb250cm9sCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAdjb250cm9sCQEAAAANa2V5Q29udHJvbENmZwAAAAAFAAAAA1NFUAEAAAAYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAAAAAgAAAApjb250cm9sQ2ZnAAAAA2lkeAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAAGRAAAAAgUAAAAKY29udHJvbENmZwUAAAADaWR4CQABLAAAAAICAAAALUNvbnRyb2wgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkAAaQAAAABBQAAAANpZHgAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzCQEAAAARa2V5Q29udHJvbEFkZHJlc3MAAAAAAgAAACMzUDVCZmQ1OFBQZk52Qk0ySHk4UWZiY0RxTWVOdHpnN0tmUAAAAAAKY29udHJvbENmZwkBAAAAFHJlYWRDb250cm9sQ2ZnT3JGYWlsAAAAAQUAAAAPY29udHJvbENvbnRyYWN0AAAAAAdyZXN0QWNjCQEAAAAYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAAAAAgUAAAAKY29udHJvbENmZwUAAAAVSWR4Q29udHJvbENmZ1Jlc3REYXBwAQAAAA5rZXlSZXN0QWRkcmVzcwAAAAACAAAAGSVzJXNfX2NvbmZpZ19fcmVzdEFkZHJlc3MBAAAADGdldFN0ck9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAIJAAEsAAAAAgIAAAAPTWFuZGF0b3J5IHRoaXMuBQAAAANrZXkCAAAADyBpcyBub3QgZGVmaW5lZAEAAAAQZ2V0QWRkcmVzc09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAADGdldFN0ck9yRmFpbAAAAAEFAAAAA2tleQkAASwAAAACAgAAAB9mYWlsIHRvIHBhcnNlIGFkZHJlc3MgZm9yIHRoaXMuBQAAAANrZXkBAAAACGFzU3RyaW5nAAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAZ2YWxTdHIFAAAAByRtYXRjaDAFAAAABnZhbFN0cgkAAAIAAAAB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", "height": 2387374, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CG7KVqCcnKv6x8HarFkyTrUWRkxG6c1CMjuJ9uw5zoNC Next: EVHRtR9ithvt9cUEiLLq6X42wwNh5nL3V4A4y7Vvezj8 Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = ""
4+let a = "__"
55
6-let b = "__"
6+let b = 1
77
8-let c = "__"
8+let c = 2
99
10-let d = 1000000
10+let d = 3
1111
12-let e = 100000000
12+let e = 4
1313
14-let f = toBigInt(d)
14+let f = 5
1515
16-let g = toBigInt(e)
16+let g = 6
1717
18-let h = toBigInt(1000000000000000000)
18+let h = 7
1919
20-let i = 1
20+let i = 8
2121
22-let j = 2
22+let j = 9
2323
24-let k = 3
25-
26-let l = 4
27-
28-let m = 5
29-
30-let n = 6
31-
32-let o = 7
33-
34-let p = 8
35-
36-let q = 9
37-
38-let r = 10
39-
40-let s = 11
41-
42-func t (u,v) = valueOrErrorMessage(getString(u, v), (((("mandatory " + toString(u)) + ".") + v) + " is not defined"))
24+func k (l,m) = valueOrErrorMessage(getString(l, m), (((("mandatory " + toString(l)) + ".") + m) + " is not defined"))
4325
4426
45-func w () = "%s%s__config__controlAddress"
27+func n () = "%s%s__config__controlAddress"
4628
4729
48-func x () = "%s__controlConfig"
30+func o () = "%s__controlConfig"
4931
5032
51-func y (z) = split(t(z, x()), c)
33+func p (q) = split(k(q, o()), a)
5234
5335
54-func A (B,C) = valueOrErrorMessage(addressFromString(B[C]), ("Control cfg doesn't contain address at index " + toString(C)))
36+func r (s,t) = valueOrErrorMessage(addressFromString(s[t]), ("Control cfg doesn't contain address at index " + toString(t)))
5537
5638
57-let D = addressFromStringValue(valueOrElse(getString(this, w()), "3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP"))
39+let u = addressFromStringValue(valueOrElse(getString(this, n()), "3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP"))
5840
59-let B = y(D)
41+let s = p(u)
6042
61-let E = A(B, l)
43+let v = r(s, g)
6244
63-let F = A(B, i)
64-
65-let G = A(B, j)
66-
67-func H () = "bond_asset_id"
45+func w () = "%s%s__config__restAddress"
6846
6947
70-func I () = "auction_contract"
48+func x (m) = valueOrErrorMessage(getString(this, m), (("Mandatory this." + m) + " is not defined"))
7149
7250
73-func J () = "%s__minLockAmount"
51+func y (m) = valueOrErrorMessage(addressFromString(x(m)), ("fail to parse address for this." + m))
7452
7553
76-func K () = "%s__stakedAssetId"
77-
78-
79-func L (M) = makeString(["%s%s%s", "paramByUser", toString(M), "amount"], b)
80-
81-
82-func N (M) = makeString(["%s%s%s", "paramByUser", toString(M), "start"], b)
83-
84-
85-func O (M) = makeString(["%s%s%s", "paramByUser", toString(M), "vpEffectiveHeight"], b)
86-
87-
88-func P (Q,M,R) = makeString(["%s%s%s%s", "history", Q, toString(M), toBase58String(R)], b)
89-
90-
91-func S () = makeString(["%s%s", "stats", "activeTotalLocked"], b)
92-
93-
94-func T () = makeString(["%s%s", "stats", "locksCount"], b)
95-
96-
97-func U () = makeString(["%s%s", "stats", "activeUsersCount"], b)
98-
99-
100-func V () = "%s__nextPeriod"
101-
102-
103-func W () = "supportedRewardAssets"
104-
105-
106-func X () = makeString(["%s%s%s", "dep", "lastNum"], b)
107-
108-
109-func Y (M) = makeString(["%s%s%s", "userRwdFromDepNum", M], b)
110-
111-
112-func Z (aa,ab) = makeString(["%s%d", "rwdPerNsbtSumByDepNum", toString(aa), ab], b)
113-
114-
115-func ac (M,ab) = makeString(["%s%s%s", "rwd", M, ab], b)
116-
117-
118-func ad (M,ab) = makeString(["%s%s%s", "clm", M, ab], b)
119-
120-
121-func ae (ab) = makeString(["%s%s", "notDistributed", ab], b)
122-
123-
124-func af (ag,ah) = fraction(toBigInt(ag), h, ah)
125-
126-
127-func ai (v) = valueOrElse(getInteger(this, v), 0)
128-
129-
130-func aj (v,ak) = valueOrElse(getInteger(this, v), ak)
131-
132-
133-func al (v) = valueOrErrorMessage(getInteger(this, v), (("Mandatory this." + v) + " is not defined"))
134-
135-
136-func am (v,ak) = valueOrElse(getString(this, v), ak)
137-
138-
139-func an (ao) = valueOrErrorMessage(addressFromString(ao), ("couldn't parse passed addressStr=" + ao))
140-
141-
142-func ap (aq) = fromBase58String(aq)
143-
144-
145-func ar (as) = {
146- let at = as
147- if ($isInstanceOf(at, "Int"))
54+func z (A) = {
55+ let B = A
56+ if ($isInstanceOf(B, "String"))
14857 then {
149- let au = at
150- au
58+ let C = B
59+ C
15160 }
152- else throw("fail to cast into Int")
61+ else throw("fail to cast into String")
15362 }
15463
15564
156-func av (aw) = {
157- let at = aw
158- if ($isInstanceOf(at, "(Int, Int, Int, Int, Int, Int, Int)"))
159- then {
160- let ax = at
161- ax
162- }
163- else throw("fail to cast into Int")
65+func D (E) = {
66+ let F = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
67+ let G = size(E)
68+ if (((G % 2) != 0))
69+ then throw("only even args size is accepeted")
70+ else if ((G > size(F)))
71+ then throw(("strMap length is greater then " + toString(size(F))))
72+ else {
73+ func D (H,I) = if (if (((I % 2) == 0))
74+ then (G >= (I + 1))
75+ else false)
76+ then (((((H + "
77+\"") + E[I]) + "\": \"") + E[(I + 1)]) + "\",")
78+ else H
79+
80+ let J = {
81+ let K = F
82+ let L = size(K)
83+ let M = ""
84+ func N (O,P) = if ((P >= L))
85+ then O
86+ else D(O, K[P])
87+
88+ func Q (O,P) = if ((P >= L))
89+ then O
90+ else throw("List size exceeds 20")
91+
92+ Q(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
93+ }
94+ (("{" + dropRight(J, 1)) + "}")
95+ }
16496 }
16597
16698
167-func ay (az,aA,aB,aC) = makeString(["%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(az), toString(aA), toString(aB), toString(aC)], b)
99+func R (S) = {
100+ func T (U,V) = (U :+ invoke(Address(fromBase58String(V._1)), V._2, V._3, nil))
168101
102+ let K = S
103+ let L = size(K)
104+ let M = nil
105+ func N (O,P) = if ((P >= L))
106+ then O
107+ else T(O, K[P])
169108
170-func aD (aE,aF) = makeString(["%s%d%d%s", aE, toString(lastBlock.height), toString(lastBlock.timestamp), aF], b)
109+ func Q (O,P) = if ((P >= L))
110+ then O
111+ else throw("List size exceeds 10")
171112
172-
173-func aG (Q,M,R,az,aA,aB,aC) = StringEntry(P(Q, M, R), ay(az, aA, aB, aC))
174-
175-
176-func aH (M,R,aF) = StringEntry(P("claim", M, R), aD(toString(M), aF))
177-
178-
179-func aI (aJ,aK,aL) = {
180- let aM = ai(T())
181- let aN = ai(U())
182- let aO = ai(S())
183- let aP = (aO + aJ)
184- $Tuple3([IntegerEntry(T(), (aM + aK)), IntegerEntry(U(), (aN + aL)), IntegerEntry(S(), aP)], aO, aP)
113+ Q(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
185114 }
186115
187116
188-func aQ (M,aR,aS) = [IntegerEntry(L(M), aR), IntegerEntry(N(M), aS)]
117+func W (S) = {
118+ func T (U,V) = {
119+ let X = Address(fromBase58String(V._1))
120+ let Y = V._2
121+ let Z = V._3
122+ let aa = V._4
123+ let ab = if ((Z == "invoke"))
124+ then invoke(X, Y, aa, nil)
125+ else if ((Z == "binKey"))
126+ then getBinary(X, Y)
127+ else if ((Z == "binValKey"))
128+ then getBinaryValue(X, Y)
129+ else if ((Z == "boolKey"))
130+ then getBoolean(X, Y)
131+ else if ((Z == "boolValKey"))
132+ then getBooleanValue(X, Y)
133+ else if ((Z == "intKey"))
134+ then getInteger(X, Y)
135+ else if ((Z == "intValKey"))
136+ then getIntegerValue(X, Y)
137+ else if ((Z == "strKey"))
138+ then getString(X, Y)
139+ else if ((Z == "strValKey"))
140+ then getStringValue(X, Y)
141+ else if ((Z == "hasData"))
142+ then !(isDataStorageUntouched(X))
143+ else throw(("not supported operation type: " + Z))
144+ (U :+ ab)
145+ }
189146
147+ let K = S
148+ let L = size(K)
149+ let M = nil
150+ func N (O,P) = if ((P >= L))
151+ then O
152+ else T(O, K[P])
190153
191-func aT () = $Tuple2(fromBase58String(t(this, K())), al(J()))
154+ func Q (O,P) = if ((P >= L))
155+ then O
156+ else throw("List size exceeds 10")
192157
193-
194-func aU (M) = (aj(L(M), 0) > 0)
195-
196-
197-func aV (M) = if (aU(M))
198- then $Tuple3(false, al(L(M)), al(N(M)))
199- else unit
200-
201-
202-func aW (M) = valueOrErrorMessage(aV(M), (("User " + toString(M)) + " is not defined"))
203-
204-
205-let aX = am(W(), "")
206-
207-let aY = split(aX, "_")
208-
209-func aZ (M,ba,bb,bc,bd) = {
210- let be = Z(bd, ba)
211- let bf = parseBigIntValue(am(Z(bd, ba), "0"))
212- let bg = parseBigIntValue(am(Z(bc, ba), "0"))
213- let bh = toInt(fraction((bf - bg), bb, h))
214- let bi = ac(M, ba)
215- let bj = aj(bi, 0)
216- $Tuple4((bj + bh), bj, bh, bi)
158+ Q(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
217159 }
218160
219161
220-func bk (bl,M,bm) = {
221- let bb = toBigInt(bm)
222- let bn = Y(M)
223- let bc = aj(bn, -1)
224- let bd = aj(X(), -1)
225- func bo (bp,bq) = {
226- let br = aZ(M, bq, bb, bc, bd)
227- let bs = br._1
228- let bt = br._2
229- let bu = br._3
230- let bi = br._4
231- (bp :+ IntegerEntry(bi, bs))
232- }
233-
234- if (if ((bd == -1))
235- then (bc == -1)
236- else false)
237- then nil
238- else if (if ((bd == -1))
239- then (bc > -1)
240- else false)
241- then throw("invalid depositNumLast and depositNumUser state")
242- else if (if ((bd > -1))
243- then (bc >= -1)
244- else false)
245- then if (bl)
246- then [IntegerEntry(bn, bd)]
247- else ({
248- let bv = aY
249- let bw = size(bv)
250- let bx = nil
251- func by (bz,bA) = if ((bA >= bw))
252- then bz
253- else bo(bz, bv[bA])
254-
255- func bB (bz,bA) = if ((bA >= bw))
256- then bz
257- else throw("List size exceeds 10")
258-
259- bB(by(by(by(by(by(by(by(by(by(by(bx, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
260- } :+ IntegerEntry(bn, bd))
261- else throw(((("uncovered condition: depositNumLast=" + toString(bd)) + " depositNumUser=") + toString(bc)))
262- }
263-
264-
265-func bC (ab,bD) = {
266- let bE = ae(ab)
267- let bF = aj(bE, 0)
268-[IntegerEntry(bE, (bF + bD))]
269- }
270-
271-
272-func bG (bH,bI,bJ,bK) = {
273- let bL = (bI - height)
274- if ((0 >= bL))
275- then (height + bH)
276- else {
277- let bM = (bH - bL)
278- let bN = if ((bK != 0))
279- then fraction(bJ, e, bK)
280- else bI
281- ((bH + height) - fraction(bM, bN, e))
282- }
283- }
284-
285-
286-func bO (M,bP) = {
287- let bQ = valueOrElse(aV(M), $Tuple3(true, 0, 0))
288- let bl = bQ._1
289- let bm = bQ._2
290- let bI = bQ._3
291- let bR = if (bl)
292- then bP
293- else (bP + bm)
294- let bH = (1440 * 14)
295- let bS = if (bl)
296- then (bH + height)
297- else bG(bH, bI, bm, bR)
298- $Tuple5(bl, bm, bI, bR, bS)
299- }
300-
301-
302-func bT (M,bU) = {
303- let bV = aT()
304- let bW = bV._1
305- let bX = bV._2
306- if ((size(bU.payments) != 1))
307- then throw("Invalid payments size")
308- else {
309- let bY = bU.payments[0]
310- let aR = bY.amount
311- let bZ = (("Invalid asset. " + toBase58String(bW)) + " is expected")
312- let ba = valueOrErrorMessage(bY.assetId, bZ)
313- if ((ba != bW))
314- then throw(bZ)
315- else {
316- let ca = toString(M)
317- let cb = bO(M, aR)
318- let bl = cb._1
319- let bm = cb._2
320- let bI = cb._3
321- let bR = cb._4
322- let bS = cb._5
323- if ((bX > bR))
324- then throw(("Min lock amount is " + toString(bX)))
325- else {
326- let cc = aI(aR, 1, if (bl)
327- then 1
328- else 0)
329- let cd = cc._1
330- let ce = cc._2
331- let cf = cc._3
332- ((([aG("stake", M, bU.transactionId, bm, bI, bR, bS)] ++ bk(bl, ca, bm)) ++ aQ(M, bR, bS)) ++ cd)
333- }
334- }
335- }
336- }
337-
338-
339-func cg (M,bU) = {
340- let ca = toString(M)
341- if ((size(bU.payments) > 0))
342- then throw("payments are not accepted")
343- else {
344- let ch = valueOrElse(aV(M), $Tuple3(true, 0, 0))
345- let bl = ch._1
346- let bm = ch._2
347- let ci = ch._3
348- let bb = toBigInt(bm)
349- let bn = Y(ca)
350- let bc = aj(bn, -1)
351- let bd = aj(X(), -1)
352- func cj (bp,bq) = {
353- let ck = aZ(ca, bq, bb, bc, bd)
354- let bs = ck._1
355- let bt = ck._2
356- let bu = ck._3
357- let bi = ck._4
358- let cl = ad(ca, bq)
359- let cm = bp
360- let cn = cm._1
361- let co = cm._2
362- let cp = makeString([bq, toString(bs)], ":")
363- let cq = makeString([co, cp], "_")
364- if ((0 >= bs))
365- then $Tuple2(cn, cq)
366- else $Tuple2((((cn :+ ScriptTransfer(M, bs, ap(bq))) :+ IntegerEntry(cl, (valueOrElse(getInteger(cl), 0) + bs))) :+ IntegerEntry(bi, 0)), cq)
367- }
368-
369- let cr = {
370- let bv = aY
371- let bw = size(bv)
372- let bx = $Tuple2(nil, "")
373- func by (bz,bA) = if ((bA >= bw))
374- then bz
375- else cj(bz, bv[bA])
376-
377- func bB (bz,bA) = if ((bA >= bw))
378- then bz
379- else throw("List size exceeds 10")
380-
381- bB(by(by(by(by(by(by(by(by(by(by(bx, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
382- }
383- let cs = cr._1
384- let ct = cr._2
385- if ((0 >= size(cs)))
386- then nil
387- else ((cs :+ IntegerEntry(bn, bd)) :+ aH(M, bU.transactionId, drop(ct, 1)))
388- }
389- }
390-
391-
392-@Callable(bU)
393-func constructor (bX,cu,bW) = if ((bU.caller != this))
394- then throw("Permission denied")
395- else [IntegerEntry(J(), bX), StringEntry(W(), cu), StringEntry(K(), bW)]
162+@Callable(ac)
163+func constructorV1 (ad,ae) = if ((ac.caller != this))
164+ then throw("not authorized")
165+ else [StringEntry(n(), ad), StringEntry(w(), ae)]
396166
397167
398168
399-@Callable(bU)
400-func stake () = bT(bU.caller, bU)
401-
402-
403-
404-@Callable(bU)
405-func stakeByOriginCaller () = bT(bU.originCaller, bU)
406-
407-
408-
409-@Callable(bU)
410-func unstake (aR) = if ((size(bU.payments) != 0))
411- then throw("unstake doesn't require any payment")
412- else {
413- let M = bU.caller
414- let ca = toString(M)
415- let cv = aT()
416- let bW = cv._1
417- let bX = cv._2
418- let cw = aW(M)
419- let bl = cw._1
420- let bm = cw._2
421- let bI = cw._3
422- let cx = av(reentrantInvoke(F, "swapParamsByUserSYSREADONLY", [ca, 0], nil))
423- let cy = cx._2
424- let cz = cx._3
425- if ((cy > 0))
426- then throw((("You have already made a swap operation. Wait " + toString((height + cz))) + " height to unstake"))
427- else if ((0 >= bm))
428- then throw("Nothing to unstake")
429- else if ((aR > bm))
430- then throw(((("Requested " + toString(aR)) + ", but staked only ") + toString(bm)))
431- else {
432- let bR = (bm - aR)
433- let cA = aI(-(aR), if ((aR == bm))
434- then -1
435- else 0, if ((aR == bm))
436- then -1
437- else 0)
438- let cd = cA._1
439- let ce = cA._2
440- let cf = cA._3
441- ((([ScriptTransfer(M, aR, bW), aG("unstake", M, bU.transactionId, bm, bI, bR, bI)] ++ bk(false, ca, bm)) ++ aQ(M, bR, bI)) ++ cd)
442- }
443- }
444-
445-
446-
447-@Callable(bU)
448-func deposit () = if ((size(bU.payments) != 1))
449- then throw("exact 1 payment is allowed only")
450- else {
451- let cB = bU.payments[0]
452- let aR = cB.amount
453- let cC = value(cB.assetId)
454- let cD = toBase58String(cC)
455- let cE = f
456- let cF = toBigInt(aR)
457- let ce = aj(S(), 0)
458- let cG = toBigInt(ce)
459- if ((0 > ce))
460- then throw("TODO: case is not supported")
461- else if ((ce == 0))
462- then bC(cD, aR)
463- else {
464- let cH = fraction(cF, h, cG)
465- let cI = X()
466- let bd = aj(cI, -1)
467- let cJ = (bd + 1)
468- if (!(contains(aX, cD)))
469- then throw(((aX + " doesn't contain ") + cD))
470- else {
471- func cK (bp,cL) = {
472- let cM = Z(cJ, cL)
473- let cN = am(Z(bd, cL), "0")
474- (bp :+ (if ((cL == cD))
475- then StringEntry(cM, toString((parseBigIntValue(cN) + cH)))
476- else StringEntry(cM, cN)))
477- }
478-
479- ({
480- let bv = aY
481- let bw = size(bv)
482- let bx = nil
483- func by (bz,bA) = if ((bA >= bw))
484- then bz
485- else cK(bz, bv[bA])
486-
487- func bB (bz,bA) = if ((bA >= bw))
488- then bz
489- else throw("List size exceeds 10")
490-
491- bB(by(by(by(by(by(by(by(by(by(by(bx, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
492- } :+ IntegerEntry(cI, cJ))
493- }
494- }
495- }
496-
497-
498-
499-@Callable(bU)
500-func claimRewards () = cg(bU.caller, bU)
501-
502-
503-
504-@Callable(bU)
505-func claimRewardsByOriginCaller () = cg(bU.originCaller, bU)
506-
507-
508-
509-@Callable(bU)
510-func unclaimedRewardsREADONLY (ca) = {
511- func cO (bp,bq) = ((bp + makeString([bq, "0", "0"], ":")) + "_")
512-
513- let cP = if ((ca == ""))
514- then {
515- let bv = aY
516- let bw = size(bv)
517- let bx = ""
518- func by (bz,bA) = if ((bA >= bw))
519- then bz
520- else cO(bz, bv[bA])
521-
522- func bB (bz,bA) = if ((bA >= bw))
523- then bz
524- else throw("List size exceeds 10")
525-
526- bB(by(by(by(by(by(by(by(by(by(by(bx, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
527- }
528- else {
529- let M = addressFromStringValue(ca)
530- let cQ = valueOrElse(aV(M), $Tuple3(true, 0, 0))
531- let bl = cQ._1
532- let bm = cQ._2
533- let ci = cQ._3
534- let bb = toBigInt(bm)
535- let bn = Y(ca)
536- let bc = aj(bn, -1)
537- let bd = aj(X(), -1)
538- func cj (bp,bq) = {
539- let cR = aZ(ca, bq, bb, bc, bd)
540- let bs = cR._1
541- let bt = cR._2
542- let bu = cR._3
543- let bi = cR._4
544- let cS = valueOrElse(getInteger(ad(ca, bq)), 0)
545- ((bp + makeString([bq, toString(bs), toString(cS)], ":")) + "_")
546- }
547-
548- let bv = aY
549- let bw = size(bv)
550- let bx = ""
551- func by (bz,bA) = if ((bA >= bw))
552- then bz
553- else cj(bz, bv[bA])
554-
555- func bB (bz,bA) = if ((bA >= bw))
556- then bz
557- else throw("List size exceeds 10")
558-
559- bB(by(by(by(by(by(by(by(by(by(by(bx, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
560- }
561- $Tuple2(nil, dropRight(cP, 1))
169+@Callable(ac)
170+func stakeNsbtPageREADONLY (af,ag) = {
171+ let ah = z(invoke(v, "gnsbtInfoREADONLY", [af, ag], nil))
172+ let ai = z(invoke(v, "swapInfoREADONLY", [af], nil))
173+ $Tuple2(nil, D(["gnsbtInfoREADONLY", ah, "swapInfoREADONLY", ai]))
562174 }
563175
564176
565177
566-@Callable(bU)
567-func usdnStakingSYSREADONLY (cT,cU) = {
568- let cV = aj(S(), 0)
569- if ((cT == ""))
570- then $Tuple2(nil, [0, cV, 0, 0, 0, height, height])
571- else {
572- let M = an(cT)
573- let cb = bO(M, cU)
574- let bl = cb._1
575- let bm = cb._2
576- let bI = cb._3
577- let bR = cb._4
578- let bS = cb._5
579- let cW = bm
580- $Tuple2(nil, [cW, cV, 0, 0, bI, bS])
581- }
178+@Callable(ac)
179+func buyNsbtPageREADONLY (af) = {
180+ let ah = z(invoke(v, "gnsbtInfoREADONLY", [af, 0], nil))
181+ let aj = z(invoke(v, "neutrinoStatsREADONLY", nil, nil))
182+ $Tuple2(nil, D(["gnsbtInfoREADONLY", ah, "neutrinoStatsREADONLY", aj]))
582183 }
583184
584185
585186
586-@Callable(bU)
587-func configSYSREADONLY () = {
588- let cX = getIntegerValue(J())
589- $Tuple2(nil, [cX])
187+@Callable(ac)
188+func buySurfPageREADONLY (af,ak,al) = {
189+ let aj = z(invoke(v, "neutrinoStatsREADONLY", nil, nil))
190+ let am = z(invoke(v, "buySurfREADONLY", [af, ak, al], nil))
191+ let an = z(invoke(v, "neutrinoConfigREADONLY", nil, nil))
192+ $Tuple2(nil, D(["neutrinoStatsREADONLY", aj, "buySurfREADONLY", am, "neutrinoConfigREADONLY", an]))
193+ }
194+
195+
196+
197+@Callable(ac)
198+func walletPageREADONLY (ao) = {
199+ let ap = z(invoke(v, "walletInfoREADONLY", [ao], nil))
200+ $Tuple2(nil, D(["walletInfoREADONLY", ap]))
201+ }
202+
203+
204+
205+@Callable(ac)
206+func genericREADONLY (aq) = {
207+ let ar = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
208+ let as = [1, 3, 5, 7, 9, 11]
209+ let at = split(aq, a)
210+ let au = size(at)
211+ func av (aw,ax) = if ((ax >= au))
212+ then aw
213+ else {
214+ let T = at[ax]
215+ let ay = split(T, "+")
216+ let l = addressFromStringValue(ay[0])
217+ let az = ay[1]
218+ let aA = split(ay[2], ":")
219+ let aB = size(aA)
220+ func aC (aD,aE) = if ((aE >= aB))
221+ then aD
222+ else {
223+ let aF = if ((aA[(aE - 1)] == "s"))
224+ then aA[aE]
225+ else parseIntValue(aA[aE])
226+ (aD :+ aF)
227+ }
228+
229+ let aa = {
230+ let K = as
231+ let L = size(K)
232+ let M = nil
233+ func N (O,P) = if ((P >= L))
234+ then O
235+ else aC(O, K[P])
236+
237+ func Q (O,P) = if ((P >= L))
238+ then O
239+ else throw("List size exceeds 6")
240+
241+ Q(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6)
242+ }
243+ let aG = z(invoke(l, az, aa, nil))
244+ (aw ++ [az, aG])
245+ }
246+
247+ let aH = {
248+ let K = ar
249+ let L = size(K)
250+ let M = nil
251+ func N (O,P) = if ((P >= L))
252+ then O
253+ else av(O, K[P])
254+
255+ func Q (O,P) = if ((P >= L))
256+ then O
257+ else throw("List size exceeds 10")
258+
259+ Q(N(N(N(N(N(N(N(N(N(N(M, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
260+ }
261+ $Tuple2(nil, D(aH))
590262 }
591263
592264

github/deemru/w8io/873ac7e 
118.24 ms