tx · 3ZQ1FzYhuRtanVvCLvTZDi35rzHSoJHjvUjeH9Ruzexd

3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv:  -0.01700000 Waves

2022.11.02 16:18 [2299542] smart account 3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv > SELF 0.00000000 Waves

{ "type": 13, "id": "3ZQ1FzYhuRtanVvCLvTZDi35rzHSoJHjvUjeH9Ruzexd", "fee": 1700000, "feeAssetId": null, "timestamp": 1667395089105, "version": 1, "sender": "3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv", "senderPublicKey": "39YkRD2qWXTcdNBr4CbDnm8g8SAB2FKVaDeGYahcFHHx", "proofs": [ "3gX6mitpNXTAQ5ZJ86NWAuCRFr5fAgVgfCXJUFu4NjXehJLJih5qCdkWf1QwM7JvJK6usAPbgbhGubc26zAynPgn" ], "script": "base64:AAIFAAAAAAAACcYIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIdY29udmVydFByaWNlQXNzZXRJbnRvSWRvQXNzZXQiEHByaWNlQXNzZXRBbW91bnQiDnByaWNlQXNzZXRNVUxUIgVwcmljZSIJcHJpY2VNVUxUIgxpZG9Bc3NldE1VTFQiD2JQcmljZUFzc2V0TVVMVCINYklkb0Fzc2V0TVVMVCIOYlByaWNlQXNzZXRCVUYiD2JBbW91bnRBc3NldEJVRiIOSWR4Q2ZnSWRvU3RhcnQiEUlkeENmZ0lkb0R1cmF0aW9uIhBJZHhDZmdDbGFpbVN0YXJ0IhNJZHhDZmdDbGFpbUR1cmF0aW9uIgtJZHhDZmdQcmljZSIPSWR4Q2ZnUHJpY2VNdWx0IhBJZHhDZmdJZG9Bc3NldElkIhJJZHhDZmdJZG9Bc3NldE11bHQiEklkeENmZ1ByaWNlQXNzZXRJZCIUSWR4Q2ZnUHJpY2VBc3NldE11bHQiFUlkeENmZ01pbkludmVzdEFtb3VudCINZnJvbWF0Q29uZmlnUyIIaWRvU3RhcnQiC2lkb0R1cmF0aW9uIgpjbGFpbVN0YXJ0Ig1jbGFpbUR1cmF0aW9uIglwcmljZU11bHQiDGlkb0Fzc2V0SWQ1OCIMaWRvQXNzZXRNdWx0Ig5wcmljZUFzc2V0SWQ1OCIOcHJpY2VBc3NldE11bHQiD21pbkludmVzdEFtb3VudCITdG90YWxJZG9Bc3NldFRvU2VsbCIMZnJvbWF0Q29uZmlnIhFJZHhJbnZUb3RhbEFtb3VudCIVSWR4SW52UmVtYWluaW5nQW1vdW50Ih1JZHhJbnZDbGFpbWVkUHJpY2VBc3NldEFtb3VudCIbSWR4SW52Q2xhaW1lZElkb0Fzc2V0QW1vdW50IhdJZHhJbnZMYXN0Q2xhaW1lZEhlaWdodCIPZm9ybWF0SW52ZXN0b3JTIgt0b3RhbEFtb3VudCIPcmVtYWluaW5nQW1vdW50IhdjbGFpbWVkUHJpY2VBc3NldEFtb3VudCIVY2xhaW1lZElkb0Fzc2V0QW1vdW50IhFsYXN0Q2xhaW1lZEhlaWdodCIOZm9ybWF0SW52ZXN0b3IiE2Zvcm1hdEhpc3RvcnlSZWNvcmQiDmlkb0Fzc2V0QW1vdW50IglrZXlDb25maWciC2tleUludmVzdG9yIgt1c2VyQWRkcmVzcyIJa2V5VG90YWxzIhlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkIgR0eXBlIgZ0eElkNTgiFGtleVVTRE5DbGFpbURpc2FibGVkIhVrZXlVU0ROQ2xhaW1FbmRIZWlnaHQiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5Ig9yZWFkQ29uZmlnQXJyYXkiI3JlYWRUb3RhbHNBcnJheU9yRGVmYXVsdEJ5Q3VzdG9tS2V5IgljdXN0b21LZXkiGHJlYWRUb3RhbHNBcnJheU9yRGVmYXVsdCIacmVhZEludmVzdG9yQXJyYXlPckRlZmF1bHQiF3JlYWRJbnZlc3RvckFycmF5T3JGYWlsIhVJZHhEaWZmVG90YWxJbmNyZW1lbnQiJElkeERpZmZSZW1haW5pbmdQcmljZUFtb3VudEluY3JlbWVudCIiSWR4RGlmZkNsYWltZWRQcmljZUFtb3VudEluY3JlbWVudCIlSWR4RGlmZkNsYWltZWRJZG9Bc3NldEFtb3VudEluY3JlbWVudCILVG90YWxzRW50cnkiCW9yaWdBcnJheSINaW5jcmVtZW50RGlmZiIUbmV3TGFzdENsYWltZWRIZWlnaHQiDm5ld1RvdGFsQW1vdW50IhJuZXdSZW1haW5pbmdBbW91bnQiGm5ld0NsYWltZWRQcmljZUFzc2V0QW1vdW50IhhuZXdDbGFpbWVkSWRvQXNzZXRBbW91bnQiG0ludmVzdE9wZXJhdGlvbkhpc3RvcnlFbnRyeSIEdHhJZCIaQ2xhaW1PcGVyYXRpb25IaXN0b3J5RW50cnkiDWludGVybmFsQ2xhaW0iEGNsYWltZWRBc3NldElkNTgiCGNmZ0FycmF5IghjbGFpbUVuZCIKaWRvQXNzZXRJZCIMcHJpY2VBc3NldElkIg11c2VyQWRkcmVzczU4Ig9vcmlnSW52ZXN0QXJyYXkiEWludmVzdFRvdGFsQW1vdW50IhppbnZlc3RMYXN0Q2xhaW1lZEhlaWdodFRNUCIXaW52ZXN0TGFzdENsYWltZWRIZWlnaHQiFG5ld0NsYWltUGVyaW9kSGVpZ2h0Ig5jbGFpbWluZ0Jsb2NrcyIYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50IhZjbGFpbWluZ0lkb0Fzc2V0QW1vdW50IgZpc1VTRE4iE2lzVVNETkNsYWltRGlzYWJsZWQiEGlzVVNETkNsYWltRW5kZWQiByRtYXRjaDAiA2VuZCIGY2hlY2tzIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIGaWRvRW5kIgNwbXQiDGlkb0Fzc2V0SW5mbyIOcHJpY2VBc3NldEluZm8iD29yaWdUb3RhbHNBcnJheSIKdG90YWxzRGlmZiIObWluSXZlc3RBbW91bnQiCnBtdEFzc2V0SWQiCXBtdEFtb3VudCIRb3JpZ0ludmVzdG9yQXJyYXkiE25ld1ByaWNlVG90YWxBbW91bnQiFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQiD2NhbGxlckFkZHJlc3M1OCIQY2xhaW1SZXN1bHRUdXBsZSIJb3V0QW1vdW50IgpvdXRBc3NldElkIhpjbGFpbWVkUHJpY2VBbW91bnRGcm9tRGlmZiIdY2xhaW1lZElkb0Fzc2V0QW1vdW50RnJvbURpZmYiFWF2YWlsYWJsZVRvQ2xhaW1BcnJheSIbYXZhaWxhYmxlUHJpY2VBbW91bnRUb0NsYWltIhlhdmFpbGFibGVJZG9BbW91bnRUb0NsYWltIhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSILY2hlY2tDYWxsZXIiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXkAAAAxAQAAAAFhAAAAAQAAAAFiCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQUAAAABYgkAASwAAAACCQABLAAAAAICAAAAD21hbmRhdG9yeSB0aGlzLgUAAAABYgIAAAAPIGlzIG5vdCBkZWZpbmVkAAAAAAFjAgAAAAJfXwAAAAABZAkAATYAAAABAA3gtrOnZAAAAQAAAAFlAAAABQAAAAFmAAAAAWcAAAABaAAA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", "chainId": 84, "height": 2299542, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7npvjwSRh6LG5mXgESqSSetbVn28p92CmpgdhvJHSmFM Next: 323EnozLCPpZvFjr36yYGRNmqhJFwZPD8TsDfZ3ZZnsd Diff:
OldNewDifferences
88
99 let d = toBigInt(1000000000000000000)
1010
11-let e = 100000000
12-
13-func f (g) = throw(makeString(["ido.ride:", g], " "))
14-
15-
16-func h (i,j,k,l,m) = {
17- let n = toBigInt(j)
18- let o = toBigInt(m)
19- let p = fraction(toBigInt(i), d, n)
20- let q = fraction(p, toBigInt(l), toBigInt(k))
21- toInt(fraction(q, toBigInt(m), d))
11+func e (f,g,h,i,j) = {
12+ let k = toBigInt(g)
13+ let l = toBigInt(j)
14+ let m = fraction(toBigInt(f), d, k)
15+ let n = fraction(m, toBigInt(i), toBigInt(h))
16+ toInt(fraction(n, toBigInt(j), d))
2217 }
2318
2419
25-let r = 1
20+let o = 1
2621
27-let s = 2
22+let p = 2
2823
29-let t = 3
24+let q = 3
3025
31-let u = 4
26+let r = 4
3227
33-let v = 5
28+let s = 5
3429
35-let w = 6
30+let t = 6
3631
37-let x = 7
32+let u = 7
3833
39-let y = 8
34+let v = 8
4035
41-let z = 9
36+let w = 9
4237
43-let A = 10
38+let x = 10
4439
45-let B = 11
40+let y = 11
4641
47-func C (D,E,F,G,k,H,I,J,K,L,M,N) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", D, E, F, G, k, H, I, J, K, L, M, N], c)
42+func z (A,B,C,D,h,E,F,G,H,I,J,K) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", A, B, C, D, h, E, F, G, H, I, J, K], c)
4843
4944
50-func O (D,E,F,G,k,H,I,J,K,L,M,N) = C(toString(D), toString(E), toString(F), toString(G), toString(k), toString(H), I, toString(J), K, toString(L), toString(M), toString(N))
45+func L (A,B,C,D,h,E,F,G,H,I,J,K) = z(toString(A), toString(B), toString(C), toString(D), toString(h), toString(E), F, toString(G), H, toString(I), toString(J), toString(K))
5146
5247
53-let P = 1
48+let M = 1
5449
55-let Q = 2
50+let N = 2
5651
57-let R = 3
52+let O = 3
5853
59-let S = 4
54+let P = 4
6055
61-let T = 5
56+let Q = 5
6257
63-func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
58+func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
6459
6560
66-func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
61+func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
6762
6863
69-func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
64+func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
7065
7166
72-func ad () = "%s__config"
67+func aa () = "%s__config"
7368
7469
75-func ae (af) = ("%s__" + af)
70+func ab (ac) = ("%s__" + ac)
7671
7772
78-func ag () = "%s__totals"
73+func ad () = "%s__totals"
7974
8075
81-func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
76+func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
8277
8378
84-func ak () = "%s__usdnClaimDisabled"
79+func ah () = "%s__usdnClaimDisabled"
8580
8681
87-func al () = "%s__usdnClaimEndHeight"
82+func ai () = "%s__usdnClaimEndHeight"
8883
8984
90-func am () = makeString(["%s", "periodLength"], c)
85+func aj () = "%s__managerPublicKey"
9186
9287
93-func an () = makeString(["%s", "currentPeriod"], c)
88+func ak () = "%s__pendingManagerPublicKey"
9489
9590
96-func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
91+func al () = split(a(aa()), c)
9792
9893
99-func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
94+func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
10095
10196
102-func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
97+func ao () = am(ad())
10398
10499
105-func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
100+func ap (ac) = am(ab(ac))
106101
107102
108-func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
103+func aq (ac) = split(a(ab(ac)), c)
109104
110105
111-func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
106+let ar = 0
112107
108+let as = 1
113109
114-func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
110+let at = 2
115111
112+let au = 3
116113
117-func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118-
119-
120-func ay () = makeString(["%s", "usdtAssetId"], c)
121-
122-
123-func az () = "%s__managerPublicKey"
124-
125-
126-func aA () = "%s__pendingManagerPublicKey"
127-
128-
129-func aB () = split(a(ad()), c)
130-
131-
132-func aC (aD) = split(valueOrElse(getString(aD), U("0", "0", "0", "0", "0")), c)
133-
134-
135-func aE () = aC(ag())
136-
137-
138-func aF (af) = aC(ae(af))
139-
140-
141-func aG (af) = split(a(ae(af)), c)
142-
143-
144-let aH = 0
145-
146-let aI = 1
147-
148-let aJ = 2
149-
150-let aK = 3
151-
152-func aL (b,aM,aN,aO) = {
153- let V = parseIntValue(aM[P])
154- let W = parseIntValue(aM[Q])
155- let X = parseIntValue(aM[R])
156- let Y = parseIntValue(aM[S])
157- let Z = parseIntValue(aM[T])
158- let aP = (V + aN[aH])
159- let aQ = (W + aN[aI])
160- let aR = (X + aN[aJ])
161- let aS = (Y + aN[aK])
162- if ((0 > aQ))
114+func av (b,aw,ax,ay) = {
115+ let S = parseIntValue(aw[M])
116+ let T = parseIntValue(aw[N])
117+ let U = parseIntValue(aw[O])
118+ let V = parseIntValue(aw[P])
119+ let W = parseIntValue(aw[Q])
120+ let az = (S + ax[ar])
121+ let aA = (T + ax[as])
122+ let aB = (U + ax[at])
123+ let aC = (V + ax[au])
124+ if ((0 > aA))
163125 then throw("invalid math")
164- else StringEntry(b, aa(aP, aQ, aR, aS, aO))
126+ else StringEntry(b, X(az, aA, aB, aC, ay))
165127 }
166128
167129
168-func aT (af,i,ac,aU) = StringEntry(ah("invest", af, toBase58String(aU)), ab(i, ac))
130+func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
169131
170132
171-func aV (af,i,ac,aU) = StringEntry(ah("claim", af, toBase58String(aU)), ab(i, ac))
133+func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
172134
173135
174-func aW (aX,af,aU) = {
175- let aY = aB()
176- let F = parseIntValue(aY[t])
177- let G = parseIntValue(aY[u])
178- let aZ = (F + G)
179- let k = parseIntValue(aY[v])
180- let H = parseIntValue(aY[w])
181- let I = aY[x]
182- let ba = fromBase58String(I)
183- let J = parseIntValue(aY[y])
184- let K = aY[z]
185- let bb = fromBase58String(K)
186- let L = parseIntValue(aY[A])
187- let bc = toString(af)
188- let bd = aG(bc)
189- let be = parseIntValue(bd[P])
190- let bf = parseIntValue(bd[T])
191- let bg = if ((F >= bf))
192- then F
193- else bf
194- let bh = if ((height > aZ))
195- then aZ
196- else if ((F > height))
197- then F
136+func aG (aH,ac,aE) = {
137+ let aI = al()
138+ let C = parseIntValue(aI[q])
139+ let D = parseIntValue(aI[r])
140+ let aJ = (C + D)
141+ let h = parseIntValue(aI[s])
142+ let E = parseIntValue(aI[t])
143+ let F = aI[u]
144+ let aK = fromBase58String(F)
145+ let G = parseIntValue(aI[v])
146+ let H = aI[w]
147+ let aL = fromBase58String(H)
148+ let I = parseIntValue(aI[x])
149+ let aM = toString(ac)
150+ let aN = aq(aM)
151+ let aO = parseIntValue(aN[M])
152+ let aP = parseIntValue(aN[Q])
153+ let aQ = if ((C >= aP))
154+ then C
155+ else aP
156+ let aR = if ((height > aJ))
157+ then aJ
158+ else if ((C > height))
159+ then C
198160 else height
199- let bi = (bh - bg)
200- let bj = fraction(be, bi, G)
201- let bk = h(bj, L, k, H, J)
202- let bl = (aX == K)
203- let bm = valueOrElse(getBoolean(ak()), false)
204- let bn = {
205- let bo = getInteger(al())
206- if ($isInstanceOf(bo, "Int"))
161+ let aS = (aR - aQ)
162+ let aT = fraction(aO, aS, D)
163+ let aU = e(aT, I, h, E, G)
164+ let aV = (aH == H)
165+ let aW = valueOrElse(getBoolean(ah()), false)
166+ let aX = {
167+ let aY = getInteger(ai())
168+ if ($isInstanceOf(aY, "Int"))
207169 then {
208- let bp = bo
209- (height > bp)
170+ let aZ = aY
171+ (height > aZ)
210172 }
211- else if ($isInstanceOf(bo, "Unit"))
173+ else if ($isInstanceOf(aY, "Unit"))
212174 then false
213175 else throw("Match error")
214176 }
215- let bq = [if (!(if (bl)
216- then bm
177+ let ba = [if (!(if (aV)
178+ then aW
217179 else false))
218180 then true
219- else f("USDN claim is disabled"), if (!(if (bl)
220- then bn
181+ else throw("USDN claim is disabled"), if (!(if (aV)
182+ then aX
221183 else false))
222184 then true
223- else f("USDN claim is ended")]
224- if ((bq == bq))
225- then {
226- let br = value(getInteger(as(K)))
227- let bs = value(getInteger(au(K)))
228- let bt = value(getInteger(am()))
229- let bu = valueOrElse(getInteger(an()), 0)
230- let bv = if ((bu > 0))
231- then {
232- let bw = value(getInteger(ao((bu - 1))))
233- let bx = value(getInteger(aq((bu - 1))))
234- let by = if ((height > bx))
235- then {
236- let bz = (bu + 1)
237- let bA = (bx + 1)
238- let bB = ((bA + bt) - 1)
239- $Tuple3(bz, bA, bB)
240- }
241- else $Tuple3(bu, bw, bx)
242- let bz = by._1
243- let bA = by._2
244- let bB = by._3
245- $Tuple3(bz, bA, bB)
246- }
247- else $Tuple3(bu, valueOrElse(getInteger(ao(bu)), height), valueOrElse(getInteger(aq(bu)), ((height + bt) - 1)))
248- let bz = bv._1
249- let bA = bv._2
250- let bB = bv._3
251- let bC = valueOrElse(getInteger(av(K, bz)), br)
252- let bD = valueOrElse(getInteger(aw(K, bz, bc)), bs)
253- let bE = min([bj, bC, bD])
254- let bF = value(getInteger(ar()))
255- let bG = e
256- let bH = {
257- let bI = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bG, K], nil)
258- if ($isInstanceOf(bI, "(Int, Int, Int)"))
259- then bI
260- else throw("Couldn't cast Any to (Int, Int, Int)")
261- }
262- if ((bH == bH))
263- then {
264- let bJ = bH._3
265- let bK = bH._2
266- let bL = bH._1
267- let bM = value(getString(ay()))
268- let bN = {
269- let bI = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bM, bL], nil)
270- if ($isInstanceOf(bI, "(Int, Int)"))
271- then bI
272- else throw("Couldn't cast Any to (Int, Int)")
273- }
274- if ((bN == bN))
275- then {
276- let bO = bN._2
277- let bP = bN._1
278- let bQ = fraction(bP, bG, e)
279- let bR = (bB - height)
280- if ((aX == K))
281- then $Tuple6([0, -(bE), bE, 0], bE, bb, bd, bh, [bz, bA, bB, bj, bk, bE, bC, bF, bQ, bR])
282- else if ((aX == I))
283- then $Tuple6([0, -(bE), 0, bE], bk, ba, bd, bh, [bz, bA, bB, bj, bk, bE, bC, bF, bQ, bR])
284- else f(makeString(["unsupported assetId:", aX], " "))
285- }
286- else throw("Strict value is not equal to itself.")
287- }
288- else throw("Strict value is not equal to itself.")
289- }
185+ else throw("USDN claim is ended")]
186+ if ((ba == ba))
187+ then if ((aH == H))
188+ then $Tuple6([0, -(aT), aT, 0], aT, aL, aN, aR, [aT, aU])
189+ else if ((aH == F))
190+ then $Tuple6([0, -(aT), 0, aU], aU, aK, aN, aR, [aT, aU])
191+ else throw(("unsupported assetId: " + aH))
290192 else throw("Strict value is not equal to itself.")
291193 }
292194
293195
294-func bS () = {
295- let bo = getString(az())
296- if ($isInstanceOf(bo, "String"))
196+func bb () = {
197+ let aY = getString(aj())
198+ if ($isInstanceOf(aY, "String"))
297199 then {
298- let bT = bo
299- fromBase58String(bT)
200+ let bc = aY
201+ fromBase58String(bc)
300202 }
301- else if ($isInstanceOf(bo, "Unit"))
203+ else if ($isInstanceOf(aY, "Unit"))
302204 then unit
303205 else throw("Match error")
304206 }
305207
306208
307-func bU () = {
308- let bo = getString(aA())
309- if ($isInstanceOf(bo, "String"))
209+func bd () = {
210+ let aY = getString(ak())
211+ if ($isInstanceOf(aY, "String"))
310212 then {
311- let bT = bo
312- fromBase58String(bT)
213+ let bc = aY
214+ fromBase58String(bc)
313215 }
314- else if ($isInstanceOf(bo, "Unit"))
216+ else if ($isInstanceOf(aY, "Unit"))
315217 then unit
316218 else throw("Match error")
317219 }
318220
319221
320-func bV (bW) = {
321- let bX = throw("Permission denied")
322- let bo = bS()
323- if ($isInstanceOf(bo, "ByteVector"))
222+func be (bf) = {
223+ let bg = throw("Permission denied")
224+ let aY = bb()
225+ if ($isInstanceOf(aY, "ByteVector"))
324226 then {
325- let bY = bo
326- if ((bW.callerPublicKey == bY))
227+ let bh = aY
228+ if ((bf.callerPublicKey == bh))
327229 then true
328- else bX
230+ else bg
329231 }
330- else if ($isInstanceOf(bo, "Unit"))
331- then if ((bW.caller == this))
232+ else if ($isInstanceOf(aY, "Unit"))
233+ then if ((bf.caller == this))
332234 then true
333- else bX
235+ else bg
334236 else throw("Match error")
335237 }
336238
337239
338-@Callable(bW)
339-func constructor (D,E,F,G,k,K,M) = {
340- let H = ((100 * 1000) * 1000)
341- let bZ = (D + E)
342- if (isDefined(getString(ad())))
240+@Callable(bf)
241+func constructor (A,B,C,D,h,H,J) = {
242+ let E = ((100 * 1000) * 1000)
243+ let bi = (A + B)
244+ if (isDefined(getString(aa())))
343245 then throw("already initialized")
344- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bW.caller)))
246+ else if (("3N4nTJ5sSp5X5ChS2bBBmwNMn1eeRzT1FoP" != toString(bf.caller)))
345247 then throw("not authorized")
346- else if ((size(bW.payments) != 1))
248+ else if ((size(bf.payments) != 1))
347249 then throw("exactly 1 payment must be attached")
348- else if ((bZ >= F))
250+ else if ((bi >= C))
349251 then throw("claimStart must be greater than idoEnd")
350252 else {
351- let ca = value(bW.payments[0])
352- let ba = value(ca.assetId)
353- let cb = valueOrErrorMessage(assetInfo(ba), "fail to load ido asset info")
354- let I = toBase58String(ba)
355- let J = pow(10, 0, cb.decimals, 0, 0, DOWN)
356- let bb = fromBase58String(K)
357- let cc = valueOrErrorMessage(assetInfo(bb), "fail to load price asset info")
358- let L = pow(10, 0, cc.decimals, 0, 0, DOWN)
359- let cd = aE()
360- let ce = [0, 0, 0, 0]
361-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ca.amount)), aL(ag(), cd, ce, F)]
253+ let bj = value(bf.payments[0])
254+ let aK = value(bj.assetId)
255+ let bk = valueOrErrorMessage(assetInfo(aK), "fail to load ido asset info")
256+ let F = toBase58String(aK)
257+ let G = pow(10, 0, bk.decimals, 0, 0, DOWN)
258+ let aL = fromBase58String(H)
259+ let bl = valueOrErrorMessage(assetInfo(aL), "fail to load price asset info")
260+ let I = pow(10, 0, bl.decimals, 0, 0, DOWN)
261+ let bm = ao()
262+ let bn = [0, 0, 0, 0]
263+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, bj.amount)), av(ad(), bm, bn, C)]
362264 }
363265 }
364266
365267
366268
367-@Callable(bW)
269+@Callable(bf)
368270 func invest () = {
369- let aY = aB()
370- let D = parseIntValue(aY[r])
371- let E = parseIntValue(aY[s])
372- let bZ = (D + E)
373- let F = parseIntValue(aY[t])
374- let G = parseIntValue(aY[u])
375- let k = parseIntValue(aY[v])
376- let H = parseIntValue(aY[w])
377- let I = aY[x]
378- let ba = fromBase58String(I)
379- let J = parseIntValue(aY[y])
380- let K = aY[z]
381- let bb = fromBase58String(K)
382- let L = parseIntValue(aY[A])
383- let cf = parseIntValue(aY[B])
384- let af = toString(bW.caller)
385- if ((D > height))
271+ let aI = al()
272+ let A = parseIntValue(aI[o])
273+ let B = parseIntValue(aI[p])
274+ let bi = (A + B)
275+ let C = parseIntValue(aI[q])
276+ let D = parseIntValue(aI[r])
277+ let h = parseIntValue(aI[s])
278+ let E = parseIntValue(aI[t])
279+ let F = aI[u]
280+ let aK = fromBase58String(F)
281+ let G = parseIntValue(aI[v])
282+ let H = aI[w]
283+ let aL = fromBase58String(H)
284+ let I = parseIntValue(aI[x])
285+ let bo = parseIntValue(aI[y])
286+ let ac = toString(bf.caller)
287+ if ((A > height))
386288 then throw("ido has not been started yet")
387- else if ((height > bZ))
289+ else if ((height > bi))
388290 then throw("ido has been already ended")
389- else if ((size(bW.payments) != 1))
291+ else if ((size(bf.payments) != 1))
390292 then throw("exactly 1 payment is expected")
391293 else {
392- let ca = value(bW.payments[0])
393- let cg = value(ca.assetId)
394- let ch = ca.amount
395- if ((cg != bb))
396- then throw((("invalid payment asset id: " + toBase58String(cg)) + " is expected"))
294+ let bj = value(bf.payments[0])
295+ let bp = value(bj.assetId)
296+ let bq = bj.amount
297+ if ((bp != aL))
298+ then throw((("invalid payment asset id: " + toBase58String(bp)) + " is expected"))
397299 else {
398- let ci = aF(af)
399- let cd = aE()
400- let cj = (parseIntValue(cd[P]) + ch)
401- let ck = (cj * 100)
402- if ((ck > assetBalance(this, ba)))
300+ let br = ap(ac)
301+ let bm = ao()
302+ let bs = (parseIntValue(bm[M]) + bq)
303+ let bt = (bs * 100)
304+ if ((bt > assetBalance(this, aK)))
403305 then throw("IDO asset has been - sold consider to use smaller payment")
404306 else {
405- let ce = [ch, ch, 0, 0]
406-[aL(ae(af), ci, ce, F), aL(ag(), cd, ce, F), aT(af, ch, 0, bW.transactionId)]
307+ let bn = [bq, bq, 0, 0]
308+[av(ab(ac), br, bn, C), av(ad(), bm, bn, C), aD(ac, bq, 0, bf.transactionId)]
407309 }
408310 }
409311 }
411313
412314
413315
414-@Callable(bW)
415-func claim (aX,bc) = {
416- let cl = toString(bW.caller)
417- if ((bc != cl))
418- then f("not authorized")
316+@Callable(bf)
317+func claim (aH,aM) = {
318+ let bu = toString(bf.caller)
319+ if ((aM != bu))
320+ then throw("not authorized")
419321 else {
420- let bb = aB()[z]
421- let cm = aW(aX, bW.caller, bW.transactionId)
422- let ce = cm._1
423- let cn = cm._2
424- let co = cm._3
425- let bd = cm._4
426- let bh = cm._5
427- let cp = cm._6
428- let bu = cp[0]
429- let bA = cp[1]
430- let bB = cp[2]
431- let bj = cp[3]
432- let cq = cp[4]
433- let cr = cp[5]
434- let cs = cp[6]
435- let bF = cp[7]
436- let ct = cp[8]
437- let cu = cp[9]
438- let bq = [if (if ((bj > 0))
439- then true
440- else (cq > 0))
441- then true
442- else f("nothing to claim"), if ((cr > 0))
443- then true
444- else f("unavailable to claim because user period allowance reached"), if ((cs > 0))
445- then true
446- else f("unavailable to claim because total period allowance reached")]
447- if ((bq == bq))
448- then {
449- let cv = ce[aJ]
450- let cw = ce[aK]
451- let cx = (cs - cv)
452- let cy = (cr - cv)
453- $Tuple2([ScriptTransfer(bW.caller, cn, co), aL(ae(bc), bd, ce, bh), aL(ag(), aE(), ce, bh), IntegerEntry(an(), bu), IntegerEntry(ao(bu), bA), IntegerEntry(aq(bu), bB), IntegerEntry(av(bb, bu), cx), IntegerEntry(aw(bb, bu, bc), cy), aV(bc, cv, cw, bW.transactionId)], unit)
454- }
455- else throw("Strict value is not equal to itself.")
322+ let bv = aG(aH, bf.caller, bf.transactionId)
323+ let bn = bv._1
324+ let bw = bv._2
325+ let bx = bv._3
326+ let aN = bv._4
327+ let aR = bv._5
328+ let by = bn[at]
329+ let bz = bn[au]
330+ $Tuple2([ScriptTransfer(bf.caller, bw, bx), av(ab(aM), aN, bn, aR), av(ad(), ao(), bn, aR), aF(aM, by, bz, bf.transactionId)], unit)
456331 }
457332 }
458333
459334
460335
461-@Callable(bW)
462-func claimREADONLY (aX,bc) = {
463- let cm = aW(aX, addressFromStringValue(bc), fromBase58String(""))
464- let ce = cm._1
465- let cn = cm._2
466- let co = cm._3
467- let bd = cm._4
468- let bh = cm._5
469- let cp = cm._6
470- let cz = cp[4]
471- let cA = cp[5]
472- $Tuple2(nil, makeString(["%s%d%d", bc, toString(cA), toString(cz)], c))
336+@Callable(bf)
337+func claimREADONLY (aH,aM) = {
338+ let bv = aG(aH, addressFromStringValue(aM), fromBase58String(""))
339+ let bn = bv._1
340+ let bw = bv._2
341+ let bx = bv._3
342+ let aN = bv._4
343+ let aR = bv._5
344+ let bA = bv._6
345+ let bB = bA[0]
346+ let bC = bA[1]
347+ $Tuple2(nil, makeString(["%s%d%d", aM, toString(bB), toString(bC)], c))
473348 }
474349
475350
476351
477-@Callable(bW)
478-func claimV2READONLY (aX,bc) = {
479- let cm = aW(aX, addressFromStringValue(bc), fromBase58String(""))
480- let ce = cm._1
481- let cn = cm._2
482- let co = cm._3
483- let bd = cm._4
484- let bh = cm._5
485- let cp = cm._6
486- let bu = cp[0]
487- let bA = cp[1]
488- let bB = cp[2]
489- let bj = cp[3]
490- let cq = cp[4]
491- let cr = cp[5]
492- let cs = cp[6]
493- let bF = cp[7]
494- let ct = cp[8]
495- let cu = cp[9]
496- let cB = makeString(["%d%d%d%d%d%d%d", toString(bj), toString(cq), toString(cr), toString(cs), toString(bF), toString(ct), toString(cu)], c)
497- $Tuple2(nil, cB)
498- }
499-
500-
501-
502-@Callable(bW)
503-func setManager (cC) = {
504- let cD = bV(bW)
505- if ((cD == cD))
352+@Callable(bf)
353+func setManager (bD) = {
354+ let bE = be(bf)
355+ if ((bE == bE))
506356 then {
507- let cE = fromBase58String(cC)
508- if ((cE == cE))
509- then [StringEntry(aA(), cC)]
357+ let bF = fromBase58String(bD)
358+ if ((bF == bF))
359+ then [StringEntry(ak(), bD)]
510360 else throw("Strict value is not equal to itself.")
511361 }
512362 else throw("Strict value is not equal to itself.")
514364
515365
516366
517-@Callable(bW)
367+@Callable(bf)
518368 func confirmManager () = {
519- let cF = bU()
520- let cG = if (isDefined(cF))
369+ let bG = bd()
370+ let bH = if (isDefined(bG))
521371 then true
522372 else throw("No pending manager")
523- if ((cG == cG))
373+ if ((bH == bH))
524374 then {
525- let cH = if ((bW.callerPublicKey == value(cF)))
375+ let bI = if ((bf.callerPublicKey == value(bG)))
526376 then true
527377 else throw("You are not pending manager")
528- if ((cH == cH))
529- then [StringEntry(az(), toBase58String(value(cF))), DeleteEntry(aA())]
378+ if ((bI == bI))
379+ then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
530380 else throw("Strict value is not equal to itself.")
531381 }
532382 else throw("Strict value is not equal to itself.")
533383 }
534384
535385
536-@Verifier(cI)
537-func cJ () = {
538- let cK = {
539- let bo = bS()
540- if ($isInstanceOf(bo, "ByteVector"))
386+@Verifier(bJ)
387+func bK () = {
388+ let bL = {
389+ let aY = bb()
390+ if ($isInstanceOf(aY, "ByteVector"))
541391 then {
542- let bY = bo
543- bY
392+ let bh = aY
393+ bh
544394 }
545- else if ($isInstanceOf(bo, "Unit"))
546- then cI.senderPublicKey
395+ else if ($isInstanceOf(aY, "Unit"))
396+ then bJ.senderPublicKey
547397 else throw("Match error")
548398 }
549- sigVerify(cI.bodyBytes, cI.proofs[0], cK)
399+ sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
550400 }
551401
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
55
66
77 let c = "__"
88
99 let d = toBigInt(1000000000000000000)
1010
11-let e = 100000000
12-
13-func f (g) = throw(makeString(["ido.ride:", g], " "))
14-
15-
16-func h (i,j,k,l,m) = {
17- let n = toBigInt(j)
18- let o = toBigInt(m)
19- let p = fraction(toBigInt(i), d, n)
20- let q = fraction(p, toBigInt(l), toBigInt(k))
21- toInt(fraction(q, toBigInt(m), d))
11+func e (f,g,h,i,j) = {
12+ let k = toBigInt(g)
13+ let l = toBigInt(j)
14+ let m = fraction(toBigInt(f), d, k)
15+ let n = fraction(m, toBigInt(i), toBigInt(h))
16+ toInt(fraction(n, toBigInt(j), d))
2217 }
2318
2419
25-let r = 1
20+let o = 1
2621
27-let s = 2
22+let p = 2
2823
29-let t = 3
24+let q = 3
3025
31-let u = 4
26+let r = 4
3227
33-let v = 5
28+let s = 5
3429
35-let w = 6
30+let t = 6
3631
37-let x = 7
32+let u = 7
3833
39-let y = 8
34+let v = 8
4035
41-let z = 9
36+let w = 9
4237
43-let A = 10
38+let x = 10
4439
45-let B = 11
40+let y = 11
4641
47-func C (D,E,F,G,k,H,I,J,K,L,M,N) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", D, E, F, G, k, H, I, J, K, L, M, N], c)
42+func z (A,B,C,D,h,E,F,G,H,I,J,K) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", A, B, C, D, h, E, F, G, H, I, J, K], c)
4843
4944
50-func O (D,E,F,G,k,H,I,J,K,L,M,N) = C(toString(D), toString(E), toString(F), toString(G), toString(k), toString(H), I, toString(J), K, toString(L), toString(M), toString(N))
45+func L (A,B,C,D,h,E,F,G,H,I,J,K) = z(toString(A), toString(B), toString(C), toString(D), toString(h), toString(E), F, toString(G), H, toString(I), toString(J), toString(K))
5146
5247
53-let P = 1
48+let M = 1
5449
55-let Q = 2
50+let N = 2
5651
57-let R = 3
52+let O = 3
5853
59-let S = 4
54+let P = 4
6055
61-let T = 5
56+let Q = 5
6257
63-func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
58+func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
6459
6560
66-func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
61+func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
6762
6863
69-func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
64+func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
7065
7166
72-func ad () = "%s__config"
67+func aa () = "%s__config"
7368
7469
75-func ae (af) = ("%s__" + af)
70+func ab (ac) = ("%s__" + ac)
7671
7772
78-func ag () = "%s__totals"
73+func ad () = "%s__totals"
7974
8075
81-func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
76+func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
8277
8378
84-func ak () = "%s__usdnClaimDisabled"
79+func ah () = "%s__usdnClaimDisabled"
8580
8681
87-func al () = "%s__usdnClaimEndHeight"
82+func ai () = "%s__usdnClaimEndHeight"
8883
8984
90-func am () = makeString(["%s", "periodLength"], c)
85+func aj () = "%s__managerPublicKey"
9186
9287
93-func an () = makeString(["%s", "currentPeriod"], c)
88+func ak () = "%s__pendingManagerPublicKey"
9489
9590
96-func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
91+func al () = split(a(aa()), c)
9792
9893
99-func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
94+func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
10095
10196
102-func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
97+func ao () = am(ad())
10398
10499
105-func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
100+func ap (ac) = am(ab(ac))
106101
107102
108-func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
103+func aq (ac) = split(a(ab(ac)), c)
109104
110105
111-func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
106+let ar = 0
112107
108+let as = 1
113109
114-func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
110+let at = 2
115111
112+let au = 3
116113
117-func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118-
119-
120-func ay () = makeString(["%s", "usdtAssetId"], c)
121-
122-
123-func az () = "%s__managerPublicKey"
124-
125-
126-func aA () = "%s__pendingManagerPublicKey"
127-
128-
129-func aB () = split(a(ad()), c)
130-
131-
132-func aC (aD) = split(valueOrElse(getString(aD), U("0", "0", "0", "0", "0")), c)
133-
134-
135-func aE () = aC(ag())
136-
137-
138-func aF (af) = aC(ae(af))
139-
140-
141-func aG (af) = split(a(ae(af)), c)
142-
143-
144-let aH = 0
145-
146-let aI = 1
147-
148-let aJ = 2
149-
150-let aK = 3
151-
152-func aL (b,aM,aN,aO) = {
153- let V = parseIntValue(aM[P])
154- let W = parseIntValue(aM[Q])
155- let X = parseIntValue(aM[R])
156- let Y = parseIntValue(aM[S])
157- let Z = parseIntValue(aM[T])
158- let aP = (V + aN[aH])
159- let aQ = (W + aN[aI])
160- let aR = (X + aN[aJ])
161- let aS = (Y + aN[aK])
162- if ((0 > aQ))
114+func av (b,aw,ax,ay) = {
115+ let S = parseIntValue(aw[M])
116+ let T = parseIntValue(aw[N])
117+ let U = parseIntValue(aw[O])
118+ let V = parseIntValue(aw[P])
119+ let W = parseIntValue(aw[Q])
120+ let az = (S + ax[ar])
121+ let aA = (T + ax[as])
122+ let aB = (U + ax[at])
123+ let aC = (V + ax[au])
124+ if ((0 > aA))
163125 then throw("invalid math")
164- else StringEntry(b, aa(aP, aQ, aR, aS, aO))
126+ else StringEntry(b, X(az, aA, aB, aC, ay))
165127 }
166128
167129
168-func aT (af,i,ac,aU) = StringEntry(ah("invest", af, toBase58String(aU)), ab(i, ac))
130+func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
169131
170132
171-func aV (af,i,ac,aU) = StringEntry(ah("claim", af, toBase58String(aU)), ab(i, ac))
133+func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
172134
173135
174-func aW (aX,af,aU) = {
175- let aY = aB()
176- let F = parseIntValue(aY[t])
177- let G = parseIntValue(aY[u])
178- let aZ = (F + G)
179- let k = parseIntValue(aY[v])
180- let H = parseIntValue(aY[w])
181- let I = aY[x]
182- let ba = fromBase58String(I)
183- let J = parseIntValue(aY[y])
184- let K = aY[z]
185- let bb = fromBase58String(K)
186- let L = parseIntValue(aY[A])
187- let bc = toString(af)
188- let bd = aG(bc)
189- let be = parseIntValue(bd[P])
190- let bf = parseIntValue(bd[T])
191- let bg = if ((F >= bf))
192- then F
193- else bf
194- let bh = if ((height > aZ))
195- then aZ
196- else if ((F > height))
197- then F
136+func aG (aH,ac,aE) = {
137+ let aI = al()
138+ let C = parseIntValue(aI[q])
139+ let D = parseIntValue(aI[r])
140+ let aJ = (C + D)
141+ let h = parseIntValue(aI[s])
142+ let E = parseIntValue(aI[t])
143+ let F = aI[u]
144+ let aK = fromBase58String(F)
145+ let G = parseIntValue(aI[v])
146+ let H = aI[w]
147+ let aL = fromBase58String(H)
148+ let I = parseIntValue(aI[x])
149+ let aM = toString(ac)
150+ let aN = aq(aM)
151+ let aO = parseIntValue(aN[M])
152+ let aP = parseIntValue(aN[Q])
153+ let aQ = if ((C >= aP))
154+ then C
155+ else aP
156+ let aR = if ((height > aJ))
157+ then aJ
158+ else if ((C > height))
159+ then C
198160 else height
199- let bi = (bh - bg)
200- let bj = fraction(be, bi, G)
201- let bk = h(bj, L, k, H, J)
202- let bl = (aX == K)
203- let bm = valueOrElse(getBoolean(ak()), false)
204- let bn = {
205- let bo = getInteger(al())
206- if ($isInstanceOf(bo, "Int"))
161+ let aS = (aR - aQ)
162+ let aT = fraction(aO, aS, D)
163+ let aU = e(aT, I, h, E, G)
164+ let aV = (aH == H)
165+ let aW = valueOrElse(getBoolean(ah()), false)
166+ let aX = {
167+ let aY = getInteger(ai())
168+ if ($isInstanceOf(aY, "Int"))
207169 then {
208- let bp = bo
209- (height > bp)
170+ let aZ = aY
171+ (height > aZ)
210172 }
211- else if ($isInstanceOf(bo, "Unit"))
173+ else if ($isInstanceOf(aY, "Unit"))
212174 then false
213175 else throw("Match error")
214176 }
215- let bq = [if (!(if (bl)
216- then bm
177+ let ba = [if (!(if (aV)
178+ then aW
217179 else false))
218180 then true
219- else f("USDN claim is disabled"), if (!(if (bl)
220- then bn
181+ else throw("USDN claim is disabled"), if (!(if (aV)
182+ then aX
221183 else false))
222184 then true
223- else f("USDN claim is ended")]
224- if ((bq == bq))
225- then {
226- let br = value(getInteger(as(K)))
227- let bs = value(getInteger(au(K)))
228- let bt = value(getInteger(am()))
229- let bu = valueOrElse(getInteger(an()), 0)
230- let bv = if ((bu > 0))
231- then {
232- let bw = value(getInteger(ao((bu - 1))))
233- let bx = value(getInteger(aq((bu - 1))))
234- let by = if ((height > bx))
235- then {
236- let bz = (bu + 1)
237- let bA = (bx + 1)
238- let bB = ((bA + bt) - 1)
239- $Tuple3(bz, bA, bB)
240- }
241- else $Tuple3(bu, bw, bx)
242- let bz = by._1
243- let bA = by._2
244- let bB = by._3
245- $Tuple3(bz, bA, bB)
246- }
247- else $Tuple3(bu, valueOrElse(getInteger(ao(bu)), height), valueOrElse(getInteger(aq(bu)), ((height + bt) - 1)))
248- let bz = bv._1
249- let bA = bv._2
250- let bB = bv._3
251- let bC = valueOrElse(getInteger(av(K, bz)), br)
252- let bD = valueOrElse(getInteger(aw(K, bz, bc)), bs)
253- let bE = min([bj, bC, bD])
254- let bF = value(getInteger(ar()))
255- let bG = e
256- let bH = {
257- let bI = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bG, K], nil)
258- if ($isInstanceOf(bI, "(Int, Int, Int)"))
259- then bI
260- else throw("Couldn't cast Any to (Int, Int, Int)")
261- }
262- if ((bH == bH))
263- then {
264- let bJ = bH._3
265- let bK = bH._2
266- let bL = bH._1
267- let bM = value(getString(ay()))
268- let bN = {
269- let bI = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bM, bL], nil)
270- if ($isInstanceOf(bI, "(Int, Int)"))
271- then bI
272- else throw("Couldn't cast Any to (Int, Int)")
273- }
274- if ((bN == bN))
275- then {
276- let bO = bN._2
277- let bP = bN._1
278- let bQ = fraction(bP, bG, e)
279- let bR = (bB - height)
280- if ((aX == K))
281- then $Tuple6([0, -(bE), bE, 0], bE, bb, bd, bh, [bz, bA, bB, bj, bk, bE, bC, bF, bQ, bR])
282- else if ((aX == I))
283- then $Tuple6([0, -(bE), 0, bE], bk, ba, bd, bh, [bz, bA, bB, bj, bk, bE, bC, bF, bQ, bR])
284- else f(makeString(["unsupported assetId:", aX], " "))
285- }
286- else throw("Strict value is not equal to itself.")
287- }
288- else throw("Strict value is not equal to itself.")
289- }
185+ else throw("USDN claim is ended")]
186+ if ((ba == ba))
187+ then if ((aH == H))
188+ then $Tuple6([0, -(aT), aT, 0], aT, aL, aN, aR, [aT, aU])
189+ else if ((aH == F))
190+ then $Tuple6([0, -(aT), 0, aU], aU, aK, aN, aR, [aT, aU])
191+ else throw(("unsupported assetId: " + aH))
290192 else throw("Strict value is not equal to itself.")
291193 }
292194
293195
294-func bS () = {
295- let bo = getString(az())
296- if ($isInstanceOf(bo, "String"))
196+func bb () = {
197+ let aY = getString(aj())
198+ if ($isInstanceOf(aY, "String"))
297199 then {
298- let bT = bo
299- fromBase58String(bT)
200+ let bc = aY
201+ fromBase58String(bc)
300202 }
301- else if ($isInstanceOf(bo, "Unit"))
203+ else if ($isInstanceOf(aY, "Unit"))
302204 then unit
303205 else throw("Match error")
304206 }
305207
306208
307-func bU () = {
308- let bo = getString(aA())
309- if ($isInstanceOf(bo, "String"))
209+func bd () = {
210+ let aY = getString(ak())
211+ if ($isInstanceOf(aY, "String"))
310212 then {
311- let bT = bo
312- fromBase58String(bT)
213+ let bc = aY
214+ fromBase58String(bc)
313215 }
314- else if ($isInstanceOf(bo, "Unit"))
216+ else if ($isInstanceOf(aY, "Unit"))
315217 then unit
316218 else throw("Match error")
317219 }
318220
319221
320-func bV (bW) = {
321- let bX = throw("Permission denied")
322- let bo = bS()
323- if ($isInstanceOf(bo, "ByteVector"))
222+func be (bf) = {
223+ let bg = throw("Permission denied")
224+ let aY = bb()
225+ if ($isInstanceOf(aY, "ByteVector"))
324226 then {
325- let bY = bo
326- if ((bW.callerPublicKey == bY))
227+ let bh = aY
228+ if ((bf.callerPublicKey == bh))
327229 then true
328- else bX
230+ else bg
329231 }
330- else if ($isInstanceOf(bo, "Unit"))
331- then if ((bW.caller == this))
232+ else if ($isInstanceOf(aY, "Unit"))
233+ then if ((bf.caller == this))
332234 then true
333- else bX
235+ else bg
334236 else throw("Match error")
335237 }
336238
337239
338-@Callable(bW)
339-func constructor (D,E,F,G,k,K,M) = {
340- let H = ((100 * 1000) * 1000)
341- let bZ = (D + E)
342- if (isDefined(getString(ad())))
240+@Callable(bf)
241+func constructor (A,B,C,D,h,H,J) = {
242+ let E = ((100 * 1000) * 1000)
243+ let bi = (A + B)
244+ if (isDefined(getString(aa())))
343245 then throw("already initialized")
344- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bW.caller)))
246+ else if (("3N4nTJ5sSp5X5ChS2bBBmwNMn1eeRzT1FoP" != toString(bf.caller)))
345247 then throw("not authorized")
346- else if ((size(bW.payments) != 1))
248+ else if ((size(bf.payments) != 1))
347249 then throw("exactly 1 payment must be attached")
348- else if ((bZ >= F))
250+ else if ((bi >= C))
349251 then throw("claimStart must be greater than idoEnd")
350252 else {
351- let ca = value(bW.payments[0])
352- let ba = value(ca.assetId)
353- let cb = valueOrErrorMessage(assetInfo(ba), "fail to load ido asset info")
354- let I = toBase58String(ba)
355- let J = pow(10, 0, cb.decimals, 0, 0, DOWN)
356- let bb = fromBase58String(K)
357- let cc = valueOrErrorMessage(assetInfo(bb), "fail to load price asset info")
358- let L = pow(10, 0, cc.decimals, 0, 0, DOWN)
359- let cd = aE()
360- let ce = [0, 0, 0, 0]
361-[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, ca.amount)), aL(ag(), cd, ce, F)]
253+ let bj = value(bf.payments[0])
254+ let aK = value(bj.assetId)
255+ let bk = valueOrErrorMessage(assetInfo(aK), "fail to load ido asset info")
256+ let F = toBase58String(aK)
257+ let G = pow(10, 0, bk.decimals, 0, 0, DOWN)
258+ let aL = fromBase58String(H)
259+ let bl = valueOrErrorMessage(assetInfo(aL), "fail to load price asset info")
260+ let I = pow(10, 0, bl.decimals, 0, 0, DOWN)
261+ let bm = ao()
262+ let bn = [0, 0, 0, 0]
263+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, bj.amount)), av(ad(), bm, bn, C)]
362264 }
363265 }
364266
365267
366268
367-@Callable(bW)
269+@Callable(bf)
368270 func invest () = {
369- let aY = aB()
370- let D = parseIntValue(aY[r])
371- let E = parseIntValue(aY[s])
372- let bZ = (D + E)
373- let F = parseIntValue(aY[t])
374- let G = parseIntValue(aY[u])
375- let k = parseIntValue(aY[v])
376- let H = parseIntValue(aY[w])
377- let I = aY[x]
378- let ba = fromBase58String(I)
379- let J = parseIntValue(aY[y])
380- let K = aY[z]
381- let bb = fromBase58String(K)
382- let L = parseIntValue(aY[A])
383- let cf = parseIntValue(aY[B])
384- let af = toString(bW.caller)
385- if ((D > height))
271+ let aI = al()
272+ let A = parseIntValue(aI[o])
273+ let B = parseIntValue(aI[p])
274+ let bi = (A + B)
275+ let C = parseIntValue(aI[q])
276+ let D = parseIntValue(aI[r])
277+ let h = parseIntValue(aI[s])
278+ let E = parseIntValue(aI[t])
279+ let F = aI[u]
280+ let aK = fromBase58String(F)
281+ let G = parseIntValue(aI[v])
282+ let H = aI[w]
283+ let aL = fromBase58String(H)
284+ let I = parseIntValue(aI[x])
285+ let bo = parseIntValue(aI[y])
286+ let ac = toString(bf.caller)
287+ if ((A > height))
386288 then throw("ido has not been started yet")
387- else if ((height > bZ))
289+ else if ((height > bi))
388290 then throw("ido has been already ended")
389- else if ((size(bW.payments) != 1))
291+ else if ((size(bf.payments) != 1))
390292 then throw("exactly 1 payment is expected")
391293 else {
392- let ca = value(bW.payments[0])
393- let cg = value(ca.assetId)
394- let ch = ca.amount
395- if ((cg != bb))
396- then throw((("invalid payment asset id: " + toBase58String(cg)) + " is expected"))
294+ let bj = value(bf.payments[0])
295+ let bp = value(bj.assetId)
296+ let bq = bj.amount
297+ if ((bp != aL))
298+ then throw((("invalid payment asset id: " + toBase58String(bp)) + " is expected"))
397299 else {
398- let ci = aF(af)
399- let cd = aE()
400- let cj = (parseIntValue(cd[P]) + ch)
401- let ck = (cj * 100)
402- if ((ck > assetBalance(this, ba)))
300+ let br = ap(ac)
301+ let bm = ao()
302+ let bs = (parseIntValue(bm[M]) + bq)
303+ let bt = (bs * 100)
304+ if ((bt > assetBalance(this, aK)))
403305 then throw("IDO asset has been - sold consider to use smaller payment")
404306 else {
405- let ce = [ch, ch, 0, 0]
406-[aL(ae(af), ci, ce, F), aL(ag(), cd, ce, F), aT(af, ch, 0, bW.transactionId)]
307+ let bn = [bq, bq, 0, 0]
308+[av(ab(ac), br, bn, C), av(ad(), bm, bn, C), aD(ac, bq, 0, bf.transactionId)]
407309 }
408310 }
409311 }
410312 }
411313
412314
413315
414-@Callable(bW)
415-func claim (aX,bc) = {
416- let cl = toString(bW.caller)
417- if ((bc != cl))
418- then f("not authorized")
316+@Callable(bf)
317+func claim (aH,aM) = {
318+ let bu = toString(bf.caller)
319+ if ((aM != bu))
320+ then throw("not authorized")
419321 else {
420- let bb = aB()[z]
421- let cm = aW(aX, bW.caller, bW.transactionId)
422- let ce = cm._1
423- let cn = cm._2
424- let co = cm._3
425- let bd = cm._4
426- let bh = cm._5
427- let cp = cm._6
428- let bu = cp[0]
429- let bA = cp[1]
430- let bB = cp[2]
431- let bj = cp[3]
432- let cq = cp[4]
433- let cr = cp[5]
434- let cs = cp[6]
435- let bF = cp[7]
436- let ct = cp[8]
437- let cu = cp[9]
438- let bq = [if (if ((bj > 0))
439- then true
440- else (cq > 0))
441- then true
442- else f("nothing to claim"), if ((cr > 0))
443- then true
444- else f("unavailable to claim because user period allowance reached"), if ((cs > 0))
445- then true
446- else f("unavailable to claim because total period allowance reached")]
447- if ((bq == bq))
448- then {
449- let cv = ce[aJ]
450- let cw = ce[aK]
451- let cx = (cs - cv)
452- let cy = (cr - cv)
453- $Tuple2([ScriptTransfer(bW.caller, cn, co), aL(ae(bc), bd, ce, bh), aL(ag(), aE(), ce, bh), IntegerEntry(an(), bu), IntegerEntry(ao(bu), bA), IntegerEntry(aq(bu), bB), IntegerEntry(av(bb, bu), cx), IntegerEntry(aw(bb, bu, bc), cy), aV(bc, cv, cw, bW.transactionId)], unit)
454- }
455- else throw("Strict value is not equal to itself.")
322+ let bv = aG(aH, bf.caller, bf.transactionId)
323+ let bn = bv._1
324+ let bw = bv._2
325+ let bx = bv._3
326+ let aN = bv._4
327+ let aR = bv._5
328+ let by = bn[at]
329+ let bz = bn[au]
330+ $Tuple2([ScriptTransfer(bf.caller, bw, bx), av(ab(aM), aN, bn, aR), av(ad(), ao(), bn, aR), aF(aM, by, bz, bf.transactionId)], unit)
456331 }
457332 }
458333
459334
460335
461-@Callable(bW)
462-func claimREADONLY (aX,bc) = {
463- let cm = aW(aX, addressFromStringValue(bc), fromBase58String(""))
464- let ce = cm._1
465- let cn = cm._2
466- let co = cm._3
467- let bd = cm._4
468- let bh = cm._5
469- let cp = cm._6
470- let cz = cp[4]
471- let cA = cp[5]
472- $Tuple2(nil, makeString(["%s%d%d", bc, toString(cA), toString(cz)], c))
336+@Callable(bf)
337+func claimREADONLY (aH,aM) = {
338+ let bv = aG(aH, addressFromStringValue(aM), fromBase58String(""))
339+ let bn = bv._1
340+ let bw = bv._2
341+ let bx = bv._3
342+ let aN = bv._4
343+ let aR = bv._5
344+ let bA = bv._6
345+ let bB = bA[0]
346+ let bC = bA[1]
347+ $Tuple2(nil, makeString(["%s%d%d", aM, toString(bB), toString(bC)], c))
473348 }
474349
475350
476351
477-@Callable(bW)
478-func claimV2READONLY (aX,bc) = {
479- let cm = aW(aX, addressFromStringValue(bc), fromBase58String(""))
480- let ce = cm._1
481- let cn = cm._2
482- let co = cm._3
483- let bd = cm._4
484- let bh = cm._5
485- let cp = cm._6
486- let bu = cp[0]
487- let bA = cp[1]
488- let bB = cp[2]
489- let bj = cp[3]
490- let cq = cp[4]
491- let cr = cp[5]
492- let cs = cp[6]
493- let bF = cp[7]
494- let ct = cp[8]
495- let cu = cp[9]
496- let cB = makeString(["%d%d%d%d%d%d%d", toString(bj), toString(cq), toString(cr), toString(cs), toString(bF), toString(ct), toString(cu)], c)
497- $Tuple2(nil, cB)
498- }
499-
500-
501-
502-@Callable(bW)
503-func setManager (cC) = {
504- let cD = bV(bW)
505- if ((cD == cD))
352+@Callable(bf)
353+func setManager (bD) = {
354+ let bE = be(bf)
355+ if ((bE == bE))
506356 then {
507- let cE = fromBase58String(cC)
508- if ((cE == cE))
509- then [StringEntry(aA(), cC)]
357+ let bF = fromBase58String(bD)
358+ if ((bF == bF))
359+ then [StringEntry(ak(), bD)]
510360 else throw("Strict value is not equal to itself.")
511361 }
512362 else throw("Strict value is not equal to itself.")
513363 }
514364
515365
516366
517-@Callable(bW)
367+@Callable(bf)
518368 func confirmManager () = {
519- let cF = bU()
520- let cG = if (isDefined(cF))
369+ let bG = bd()
370+ let bH = if (isDefined(bG))
521371 then true
522372 else throw("No pending manager")
523- if ((cG == cG))
373+ if ((bH == bH))
524374 then {
525- let cH = if ((bW.callerPublicKey == value(cF)))
375+ let bI = if ((bf.callerPublicKey == value(bG)))
526376 then true
527377 else throw("You are not pending manager")
528- if ((cH == cH))
529- then [StringEntry(az(), toBase58String(value(cF))), DeleteEntry(aA())]
378+ if ((bI == bI))
379+ then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
530380 else throw("Strict value is not equal to itself.")
531381 }
532382 else throw("Strict value is not equal to itself.")
533383 }
534384
535385
536-@Verifier(cI)
537-func cJ () = {
538- let cK = {
539- let bo = bS()
540- if ($isInstanceOf(bo, "ByteVector"))
386+@Verifier(bJ)
387+func bK () = {
388+ let bL = {
389+ let aY = bb()
390+ if ($isInstanceOf(aY, "ByteVector"))
541391 then {
542- let bY = bo
543- bY
392+ let bh = aY
393+ bh
544394 }
545- else if ($isInstanceOf(bo, "Unit"))
546- then cI.senderPublicKey
395+ else if ($isInstanceOf(aY, "Unit"))
396+ then bJ.senderPublicKey
547397 else throw("Match error")
548398 }
549- sigVerify(cI.bodyBytes, cI.proofs[0], cK)
399+ sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
550400 }
551401

github/deemru/w8io/169f3d6 
136.46 ms