tx · 4vLmzA5dArDonP97Q8CrgLKjRLYKYhAVEYn8T1ze1cNT

3MrfwTQPjiMpon8KZcJjatDLHbWNwVyadKE:  -0.02600000 Waves

2022.11.03 16:36 [2301002] smart account 3MrfwTQPjiMpon8KZcJjatDLHbWNwVyadKE > SELF 0.00000000 Waves

{ "type": 13, "id": "4vLmzA5dArDonP97Q8CrgLKjRLYKYhAVEYn8T1ze1cNT", "fee": 2600000, "feeAssetId": null, "timestamp": 1667482621397, "version": 1, "sender": "3MrfwTQPjiMpon8KZcJjatDLHbWNwVyadKE", "senderPublicKey": "6bj3L3GyaTejhux59f2iQkvXJZ9hAukkWN67hi3X8ND4", "proofs": [ "fkvYU4ZR5iJfViFVacgLNxQczwjf7YC577DC2usDyRCJ2xVvsZXB6wnki8pZ4x64KYZA3kf6otghiCvDrXZ5oNt" ], "script": "base64:AAIFAAAAAAAADtEIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIObmV3VG90YWxBbW91bnQiEm5ld1JlbWFpbmluZ0Ftb3VudCIabmV3Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQiGG5ld0NsYWltZWRJZG9Bc3NldEFtb3VudCIbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5IgR0eElkIhpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeSINaW50ZXJuYWxDbGFpbSIQY2xhaW1lZEFzc2V0SWQ1OCIIY2ZnQXJyYXkiCGNsYWltRW5kIgppZG9Bc3NldElkIgxwcmljZUFzc2V0SWQiDXVzZXJBZGRyZXNzNTgiD29yaWdJbnZlc3RBcnJheSIRaW52ZXN0VG90YWxBbW91bnQiGmludmVzdExhc3RDbGFpbWVkSGVpZ2h0VE1QIhdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodCIUbmV3Q2xhaW1QZXJpb2RIZWlnaHQiDmNsYWltaW5nQmxvY2tzIhhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQiFmNsYWltaW5nSWRvQXNzZXRBbW91bnQiBmlzVVNETiITaXNVU0ROQ2xhaW1EaXNhYmxlZCIGY2hlY2tzIg9pbnRlcm5hbENsYWltVjIiCW91dEFtb3VudCIZdG90YWxVc2VyQXZhaWxhYmxlVG9DbGFpbSIedG90YWxQZXJpb2RQcmljZUFzc2V0QWxsb3dhbmNlIh11c2VyUGVyaW9kUHJpY2VBc3NldEFsbG93YW5jZSIMcGVyaW9kTGVuZ3RoIg1jdXJyZW50UGVyaW9kIht6ZXJvUGVyaW9kRW5kSGVpZ2hJc0RlZmluZWQiDSR0MDExODM1MTM3MDUiFWxhc3RQZXJpb2RTdGFydEhlaWdodCITbGFzdFBlcmlvZEVuZEhlaWdodCINJHQwMTIwOTUxMjgwMCIUdXBkYXRlZEN1cnJlbnRQZXJpb2QiC3BlcmlvZFN0YXJ0IhdibG9ja3NUb0xhc3RQZXJpb2RTdGFydCIJcGVyaW9kRW5kIhV6ZXJvUGVyaW9kU3RhcnRIZWlnaHQiE3plcm9QZXJpb2RFbmRIZWlnaHQiDSR0MDEzMDU1MTM0MzciG3BlcmlvZFRvdGFsQXZhaWxhYmxlVG9DbGFpbSIacGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iEXByaWNlQXNzZXRCYWxhbmNlIhlwZXJpb2RNaW5BdmFpbGFibGVUb0NsYWltIhx1c2R0UHJpY2VBc3NldEFsbG93YWJsZVJhdGlvIhtwdXRPbmVUa25WMlByaWNlQXNzZXRBbW91bnQiDSR0MDE0NDYwMTQ3MTMiAUAiBWJvbnVzIglmZWVBbW91bnQiCGxwQW1vdW50Igt1c2R0QXNzZXRJZCINJHQwMTQ3NzUxNDk5MyIUZ2V0T25lVGtuVjJGZWVBbW91bnQiCnVzZHRBbW91bnQiGmN1cnJlbnRVc2R0UHJpY2VBc3NldFJhdGlvIhNlbmRQZXJpb2RCbG9ja3NMZWZ0IhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgckbWF0Y2gwIgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIGaWRvRW5kIgNwbXQiDGlkb0Fzc2V0SW5mbyIOcHJpY2VBc3NldEluZm8iD29yaWdUb3RhbHNBcnJheSIKdG90YWxzRGlmZiIObWluSXZlc3RBbW91bnQiCnBtdEFzc2V0SWQiCXBtdEFtb3VudCIRb3JpZ0ludmVzdG9yQXJyYXkiE25ld1ByaWNlVG90YWxBbW91bnQiFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQiD2NhbGxlckFkZHJlc3M1OCIQY2xhaW1SZXN1bHRUdXBsZSIKb3V0QXNzZXRJZCIaY2xhaW1lZFByaWNlQW1vdW50RnJvbURpZmYiHWNsYWltZWRJZG9Bc3NldEFtb3VudEZyb21EaWZmIgdlbnRyaWVzIg0kdDAyMDY0OTIxMDkzIiJ1cGRhdGVkUGVyaW9kVG90YWxBdmFpbGFibGVUb0NsYWltIiF1cGRhdGVkUGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iGHVwZGF0ZWRQcmljZUFzc2V0QmFsYW5jZSIVYXZhaWxhYmxlVG9DbGFpbUFycmF5IhthdmFpbGFibGVQcmljZUFtb3VudFRvQ2xhaW0iGWF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW0iLmF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW1XaXRoUHJpY2VBc3NldEJhbGFuY2UiDSR0MDI3MTIwMjc1MzIi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", "chainId": 84, "height": 2301002, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: cdVWkGWzxLhzR8fdcwxzHUAB4KoBojtBRhz9HPVvV7g Next: 5cBxHbsytTubZBggMkSrKBi6qMdnd3oM9n3w4Goo3QTF Diff:
OldNewDifferences
88
99 let d = toBigInt(1000000000000000000)
1010
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))
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))
1722 }
1823
1924
20-let o = 1
25+let r = 1
2126
22-let p = 2
27+let s = 2
2328
24-let q = 3
29+let t = 3
2530
26-let r = 4
31+let u = 4
2732
28-let s = 5
33+let v = 5
2934
30-let t = 6
35+let w = 6
3136
32-let u = 7
37+let x = 7
3338
34-let v = 8
39+let y = 8
3540
36-let w = 9
41+let z = 9
3742
38-let x = 10
43+let A = 10
3944
40-let y = 11
45+let B = 11
4146
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)
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)
4348
4449
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))
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))
4651
4752
48-let M = 1
53+let P = 1
4954
50-let N = 2
55+let Q = 2
5156
52-let O = 3
57+let R = 3
5358
54-let P = 4
59+let S = 4
5560
56-let Q = 5
61+let T = 5
5762
58-func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
5964
6065
61-func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6267
6368
64-func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
6570
6671
67-func aa () = "%s__config"
72+func ad () = "%s__config"
6873
6974
70-func ab (ac) = ("%s__" + ac)
75+func ae (af) = ("%s__" + af)
7176
7277
73-func ad () = "%s__totals"
78+func ag () = "%s__totals"
7479
7580
76-func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
7782
7883
79-func ah () = "%s__usdnClaimDisabled"
84+func ak () = "%s__usdnClaimDisabled"
8085
8186
82-func ai () = "%s__usdnClaimEndHeight"
87+func al () = "%s__usdnClaimEndHeight"
8388
8489
85-func aj () = "%s__managerPublicKey"
90+func am () = makeString(["%s", "periodLength"], c)
8691
8792
88-func ak () = "%s__pendingManagerPublicKey"
93+func an () = makeString(["%s", "currentPeriod"], c)
8994
9095
91-func al () = split(a(aa()), c)
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9297
9398
94-func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
95100
96101
97-func ao () = am(ad())
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
98103
99104
100-func ap (ac) = am(ab(ac))
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
101106
102107
103-func aq (ac) = split(a(ab(ac)), c)
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
104109
105110
106-let ar = 0
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
107112
108-let as = 1
109113
110-let at = 2
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
111115
112-let au = 3
113116
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))
117+func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118+
119+
120+func ay () = makeString(["%s", "usdtAssetId"], c)
121+
122+
123+func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
124+
125+
126+func aB () = "%s__managerPublicKey"
127+
128+
129+func aC () = "%s__pendingManagerPublicKey"
130+
131+
132+func aD () = split(a(ad()), c)
133+
134+
135+func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
136+
137+
138+func aG () = aE(ag())
139+
140+
141+func aH (af) = aE(ae(af))
142+
143+
144+func aI (af) = split(a(ae(af)), c)
145+
146+
147+let aJ = 0
148+
149+let aK = 1
150+
151+let aL = 2
152+
153+let aM = 3
154+
155+func aN (b,aO,aP,aQ) = {
156+ let V = parseIntValue(aO[P])
157+ let W = parseIntValue(aO[Q])
158+ let X = parseIntValue(aO[R])
159+ let Y = parseIntValue(aO[S])
160+ let Z = parseIntValue(aO[T])
161+ let aR = (V + aP[aJ])
162+ let aS = (W + aP[aK])
163+ let aT = (X + aP[aL])
164+ let aU = (Y + aP[aM])
165+ if ((0 > aS))
125166 then throw("invalid math")
126- else StringEntry(b, X(az, aA, aB, aC, ay))
167+ else StringEntry(b, aa(aR, aS, aT, aU, aQ))
127168 }
128169
129170
130-func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
171+func aV (af,i,ac,aW) = StringEntry(ah("invest", af, toBase58String(aW)), ab(i, ac))
131172
132173
133-func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
174+func aX (af,i,ac,aW) = StringEntry(ah("claim", af, toBase58String(aW)), ab(i, ac))
134175
135176
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
177+func aY (aZ,af,aW) = {
178+ let ba = aD()
179+ let F = parseIntValue(ba[t])
180+ let G = parseIntValue(ba[u])
181+ let bb = (F + G)
182+ let k = parseIntValue(ba[v])
183+ let H = parseIntValue(ba[w])
184+ let I = ba[x]
185+ let bc = fromBase58String(I)
186+ let J = parseIntValue(ba[y])
187+ let K = ba[z]
188+ let bd = fromBase58String(K)
189+ let L = parseIntValue(ba[A])
190+ let be = toString(af)
191+ let bf = aI(be)
192+ let bg = parseIntValue(bf[P])
193+ let bh = parseIntValue(bf[T])
194+ let bi = if ((F >= bh))
195+ then F
196+ else bh
197+ let bj = if ((height > bb))
198+ then bb
199+ else if ((F > height))
200+ then F
160201 else height
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"))
169- then {
170- let aZ = aY
171- (height > aZ)
172- }
173- else if ($isInstanceOf(aY, "Unit"))
174- then false
175- else throw("Match error")
176- }
177- let ba = [if (!(if (aV)
178- then aW
202+ let bk = (bj - bi)
203+ let bl = fraction(bg, bk, G)
204+ let bm = h(bl, L, k, H, J)
205+ let bn = (aZ == K)
206+ let bo = valueOrElse(getBoolean(ak()), false)
207+ let bp = [if (!(if (bn)
208+ then bo
179209 else false))
180210 then true
181- else throw("USDN claim is disabled"), if (!(if (aV)
182- then aX
183- else false))
184- then true
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))
211+ else throw("USDN claim is disabled")]
212+ if ((bp == bp))
213+ then if ((aZ == K))
214+ then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
215+ else if ((aZ == I))
216+ then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
217+ else throw(("unsupported assetId: " + aZ))
192218 else throw("Strict value is not equal to itself.")
193219 }
194220
195221
196-func bb () = {
197- let aY = getString(aj())
198- if ($isInstanceOf(aY, "String"))
222+func bq (K,be,br,bs) = {
223+ let bt = value(getInteger(as(K)))
224+ let bu = value(getInteger(au(K)))
225+ let bv = value(getInteger(am()))
226+ let bw = valueOrElse(getInteger(an()), 0)
227+ let bx = isDefined(getInteger(aq(0)))
228+ let by = if ((bw > 0))
199229 then {
200- let bc = aY
201- fromBase58String(bc)
230+ let bz = value(getInteger(ao(bw)))
231+ let bA = value(getInteger(aq(bw)))
232+ let bB = if ((height > bA))
233+ then {
234+ let bC = (bw + 1)
235+ let bD = if ((height > (bA + bv)))
236+ then {
237+ let bE = ((height - bA) % bv)
238+ if ((bE == 0))
239+ then ((height - bv) + 1)
240+ else (height - bE)
241+ }
242+ else (bA + 1)
243+ let bF = ((bD + bv) - 1)
244+ $Tuple3(bC, bD, bF)
245+ }
246+ else $Tuple3(bw, bz, bA)
247+ let bC = bB._1
248+ let bD = bB._2
249+ let bF = bB._3
250+ $Tuple3(bC, bD, bF)
202251 }
203- else if ($isInstanceOf(aY, "Unit"))
252+ else if (bx)
253+ then {
254+ let bG = value(getInteger(ao(0)))
255+ let bH = value(getInteger(aq(0)))
256+ let bI = if ((height > bH))
257+ then {
258+ let bC = (bw + 1)
259+ let bD = (bH + 1)
260+ let bF = ((bD + bv) - 1)
261+ $Tuple3(bC, bD, bF)
262+ }
263+ else $Tuple3(bw, bG, bH)
264+ let bC = bI._1
265+ let bD = bI._2
266+ let bF = bI._3
267+ $Tuple3(bC, bD, bF)
268+ }
269+ else $Tuple3(bw, valueOrElse(getInteger(ao(bw)), height), valueOrElse(getInteger(aq(bw)), ((height + bv) - 1)))
270+ let bC = by._1
271+ let bD = by._2
272+ let bF = by._3
273+ let bJ = valueOrElse(getInteger(av(K, bC)), bt)
274+ let bK = valueOrElse(getInteger(aw(K, bC, be)), bu)
275+ let bL = valueOrElse(getInteger(az(be)), 0)
276+ let bM = min([(br + bL), bJ, bK])
277+ let bN = value(getInteger(ar()))
278+ let bO = e
279+ let bP = {
280+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bO, K], nil)
281+ if ($isInstanceOf(bQ, "(Int, Int, Int)"))
282+ then bQ
283+ else throw("Couldn't cast Any to (Int, Int, Int)")
284+ }
285+ if ((bP == bP))
286+ then {
287+ let bR = bP._3
288+ let bS = bP._2
289+ let bT = bP._1
290+ let bU = value(getString(ay()))
291+ let bV = {
292+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bU, bT], nil)
293+ if ($isInstanceOf(bQ, "(Int, Int)"))
294+ then bQ
295+ else throw("Couldn't cast Any to (Int, Int)")
296+ }
297+ if ((bV == bV))
298+ then {
299+ let bW = bV._2
300+ let bX = bV._1
301+ let bY = fraction(bX, bO, e)
302+ let bZ = (bF - height)
303+ $Tuple10(bM, bJ, bK, bs, bN, bY, bZ, bC, bD, bF)
304+ }
305+ else throw("Strict value is not equal to itself.")
306+ }
307+ else throw("Strict value is not equal to itself.")
308+ }
309+
310+
311+func ca () = {
312+ let cb = getString(aB())
313+ if ($isInstanceOf(cb, "String"))
314+ then {
315+ let cc = cb
316+ fromBase58String(cc)
317+ }
318+ else if ($isInstanceOf(cb, "Unit"))
204319 then unit
205320 else throw("Match error")
206321 }
207322
208323
209-func bd () = {
210- let aY = getString(ak())
211- if ($isInstanceOf(aY, "String"))
324+func cd () = {
325+ let cb = getString(aC())
326+ if ($isInstanceOf(cb, "String"))
212327 then {
213- let bc = aY
214- fromBase58String(bc)
328+ let cc = cb
329+ fromBase58String(cc)
215330 }
216- else if ($isInstanceOf(aY, "Unit"))
331+ else if ($isInstanceOf(cb, "Unit"))
217332 then unit
218333 else throw("Match error")
219334 }
220335
221336
222-func be (bf) = {
223- let bg = throw("Permission denied")
224- let aY = bb()
225- if ($isInstanceOf(aY, "ByteVector"))
337+func ce (cf) = {
338+ let cg = throw("Permission denied")
339+ let cb = ca()
340+ if ($isInstanceOf(cb, "ByteVector"))
226341 then {
227- let bh = aY
228- if ((bf.callerPublicKey == bh))
342+ let ch = cb
343+ if ((cf.callerPublicKey == ch))
229344 then true
230- else bg
345+ else cg
231346 }
232- else if ($isInstanceOf(aY, "Unit"))
233- then if ((bf.caller == this))
347+ else if ($isInstanceOf(cb, "Unit"))
348+ then if ((cf.caller == this))
234349 then true
235- else bg
350+ else cg
236351 else throw("Match error")
237352 }
238353
239354
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())))
355+@Callable(cf)
356+func constructor (D,E,F,G,k,K,M) = {
357+ let H = ((100 * 1000) * 1000)
358+ let ci = (D + E)
359+ if (isDefined(getString(ad())))
245360 then throw("already initialized")
246- else if (("3N4nTJ5sSp5X5ChS2bBBmwNMn1eeRzT1FoP" != toString(bf.caller)))
361+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cf.caller)))
247362 then throw("not authorized")
248- else if ((size(bf.payments) != 1))
363+ else if ((size(cf.payments) != 1))
249364 then throw("exactly 1 payment must be attached")
250- else if ((bi >= C))
365+ else if ((ci >= F))
251366 then throw("claimStart must be greater than idoEnd")
252367 else {
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)]
368+ let cj = value(cf.payments[0])
369+ let bc = value(cj.assetId)
370+ let ck = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
371+ let I = toBase58String(bc)
372+ let J = pow(10, 0, ck.decimals, 0, 0, DOWN)
373+ let bd = fromBase58String(K)
374+ let cl = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
375+ let L = pow(10, 0, cl.decimals, 0, 0, DOWN)
376+ let cm = aG()
377+ let cn = [0, 0, 0, 0]
378+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cj.amount)), aN(ag(), cm, cn, F)]
264379 }
265380 }
266381
267382
268383
269-@Callable(bf)
384+@Callable(cf)
270385 func invest () = {
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))
386+ let ba = aD()
387+ let D = parseIntValue(ba[r])
388+ let E = parseIntValue(ba[s])
389+ let ci = (D + E)
390+ let F = parseIntValue(ba[t])
391+ let G = parseIntValue(ba[u])
392+ let k = parseIntValue(ba[v])
393+ let H = parseIntValue(ba[w])
394+ let I = ba[x]
395+ let bc = fromBase58String(I)
396+ let J = parseIntValue(ba[y])
397+ let K = ba[z]
398+ let bd = fromBase58String(K)
399+ let L = parseIntValue(ba[A])
400+ let co = parseIntValue(ba[B])
401+ let af = toString(cf.caller)
402+ if ((D > height))
288403 then throw("ido has not been started yet")
289- else if ((height > bi))
404+ else if ((height > ci))
290405 then throw("ido has been already ended")
291- else if ((size(bf.payments) != 1))
406+ else if ((size(cf.payments) != 1))
292407 then throw("exactly 1 payment is expected")
293408 else {
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"))
409+ let cj = value(cf.payments[0])
410+ let cp = value(cj.assetId)
411+ let cq = cj.amount
412+ if ((cp != bd))
413+ then throw((("invalid payment asset id: " + toBase58String(cp)) + " is expected"))
299414 else {
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)))
415+ let cr = aH(af)
416+ let cm = aG()
417+ let cs = (parseIntValue(cm[P]) + cq)
418+ let ct = (cs * 100)
419+ if ((ct > assetBalance(this, bc)))
305420 then throw("IDO asset has been - sold consider to use smaller payment")
306421 else {
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)]
422+ let cn = [cq, cq, 0, 0]
423+[aN(ae(af), cr, cn, F), aN(ag(), cm, cn, F), aV(af, cq, 0, cf.transactionId)]
309424 }
310425 }
311426 }
313428
314429
315430
316-@Callable(bf)
317-func claim (aH,aM) = {
318- let bu = toString(bf.caller)
319- if ((aM != bu))
431+@Callable(cf)
432+func claim (aZ,be) = {
433+ let cu = toString(cf.caller)
434+ if ((be != cu))
320435 then throw("not authorized")
321436 else {
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)
437+ let ba = aD()
438+ let K = ba[z]
439+ let cv = aY(aZ, cf.caller, cf.transactionId)
440+ let cn = cv._1
441+ let br = cv._2
442+ let cw = cv._3
443+ let bf = cv._4
444+ let bj = cv._5
445+ let cx = cn[aL]
446+ let cy = cn[aM]
447+ let cz = if ((aZ == K))
448+ then {
449+ let cA = bq(K, be, br, cn[aL])
450+ let bM = cA._1
451+ let bJ = cA._2
452+ let bK = cA._3
453+ let bs = cA._4
454+ let bN = cA._5
455+ let bY = cA._6
456+ let bZ = cA._7
457+ let bC = cA._8
458+ let bD = cA._9
459+ let bF = cA._10
460+ let bp = [if ((bK > 0))
461+ then true
462+ else f("unavailable to claim because user period allowance reached"), if ((bJ > 0))
463+ then true
464+ else f("unavailable to claim because total period allowance reached"), if ((bM > 0))
465+ then true
466+ else f("nothing to claim"), if ((bN > bY))
467+ then true
468+ else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
469+ if ((bp == bp))
470+ then {
471+ let bL = valueOrElse(getInteger(az(be)), 0)
472+ let cB = (bJ - bM)
473+ let cC = (bK - bM)
474+ let cz = if ((bL >= bM))
475+ then [ScriptTransfer(cf.caller, bM, cw), IntegerEntry(az(be), (bL - bM))]
476+ else {
477+ let cD = ((bL + br) - bM)
478+[ScriptTransfer(cf.caller, bM, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), IntegerEntry(az(be), cD)]
479+ }
480+ $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bF), IntegerEntry(av(K, bC), cB), IntegerEntry(aw(K, bC, be), cC), aX(be, bM, cy, cf.transactionId)] ++ cz), unit)
481+ }
482+ else throw("Strict value is not equal to itself.")
483+ }
484+ else $Tuple2([ScriptTransfer(cf.caller, br, cw), IntegerEntry(az(be), 0), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), aX(be, cx, cy, cf.transactionId)], unit)
485+ cz
331486 }
332487 }
333488
334489
335490
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))
491+@Callable(cf)
492+func claimREADONLY (aZ,be) = {
493+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
494+ let cn = cv._1
495+ let br = cv._2
496+ let cw = cv._3
497+ let bf = cv._4
498+ let bj = cv._5
499+ let cE = cv._6
500+ let cF = cE[0]
501+ let cG = cE[1]
502+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cF), toString(cG)], c))
348503 }
349504
350505
351506
352-@Callable(bf)
353-func setManager (bD) = {
354- let bE = be(bf)
355- if ((bE == bE))
507+@Callable(cf)
508+func claimV2READONLY (aZ,be) = {
509+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
510+ let cn = cv._1
511+ let br = cv._2
512+ let cw = cv._3
513+ let bf = cv._4
514+ let bj = cv._5
515+ let cE = cv._6
516+ let cF = cE[0]
517+ let cG = cE[1]
518+ let ba = aD()
519+ let K = ba[z]
520+ let bL = valueOrElse(getInteger(az(be)), 0)
521+ let cH = (cG + bL)
522+ let cI = bq(K, be, br, cn[aL])
523+ let bM = cI._1
524+ let bJ = cI._2
525+ let bK = cI._3
526+ let bs = cI._4
527+ let bN = cI._5
528+ let bY = cI._6
529+ let bZ = cI._7
530+ let bC = cI._8
531+ let bD = cI._9
532+ let bF = cI._10
533+ let cJ = valueOrElse(getInteger(aq(bC)), 0)
534+ let cK = if ((height > cJ))
356535 then {
357- let bF = fromBase58String(bD)
358- if ((bF == bF))
359- then [StringEntry(ak(), bD)]
536+ let cL = value(getInteger(am()))
537+ let cM = value(getInteger(au(K)))
538+ let cN = value(getInteger(as(K)))
539+ makeString(["%d%d%d%d%d%d", toString(cH), toString(cM), toString(cN), toString(bN), toString(bY), toString(cL), toString(br), toString(bM), toString(bK)], c)
540+ }
541+ else makeString(["%d%d%d%d%d%d", toString(cH), toString(bM), toString(bJ), toString(bN), toString(bY), toString(bZ), toString(br), toString(bM), toString(bK)], c)
542+ $Tuple2(nil, cK)
543+ }
544+
545+
546+
547+@Callable(cf)
548+func setManager (cO) = {
549+ let cP = ce(cf)
550+ if ((cP == cP))
551+ then {
552+ let cQ = fromBase58String(cO)
553+ if ((cQ == cQ))
554+ then [StringEntry(aC(), cO)]
360555 else throw("Strict value is not equal to itself.")
361556 }
362557 else throw("Strict value is not equal to itself.")
364559
365560
366561
367-@Callable(bf)
562+@Callable(cf)
368563 func confirmManager () = {
369- let bG = bd()
370- let bH = if (isDefined(bG))
564+ let cR = cd()
565+ let cS = if (isDefined(cR))
371566 then true
372567 else throw("No pending manager")
373- if ((bH == bH))
568+ if ((cS == cS))
374569 then {
375- let bI = if ((bf.callerPublicKey == value(bG)))
570+ let cT = if ((cf.callerPublicKey == value(cR)))
376571 then true
377572 else throw("You are not pending manager")
378- if ((bI == bI))
379- then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
573+ if ((cT == cT))
574+ then [StringEntry(aB(), toBase58String(value(cR))), DeleteEntry(aC())]
380575 else throw("Strict value is not equal to itself.")
381576 }
382577 else throw("Strict value is not equal to itself.")
383578 }
384579
385580
386-@Verifier(bJ)
387-func bK () = {
388- let bL = {
389- let aY = bb()
390- if ($isInstanceOf(aY, "ByteVector"))
581+@Verifier(cU)
582+func cV () = {
583+ let cW = {
584+ let cb = ca()
585+ if ($isInstanceOf(cb, "ByteVector"))
391586 then {
392- let bh = aY
393- bh
587+ let ch = cb
588+ ch
394589 }
395- else if ($isInstanceOf(aY, "Unit"))
396- then bJ.senderPublicKey
590+ else if ($isInstanceOf(cb, "Unit"))
591+ then cU.senderPublicKey
397592 else throw("Match error")
398593 }
399- sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
594+ sigVerify(cU.bodyBytes, cU.proofs[0], cW)
400595 }
401596
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-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))
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))
1722 }
1823
1924
20-let o = 1
25+let r = 1
2126
22-let p = 2
27+let s = 2
2328
24-let q = 3
29+let t = 3
2530
26-let r = 4
31+let u = 4
2732
28-let s = 5
33+let v = 5
2934
30-let t = 6
35+let w = 6
3136
32-let u = 7
37+let x = 7
3338
34-let v = 8
39+let y = 8
3540
36-let w = 9
41+let z = 9
3742
38-let x = 10
43+let A = 10
3944
40-let y = 11
45+let B = 11
4146
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)
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)
4348
4449
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))
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))
4651
4752
48-let M = 1
53+let P = 1
4954
50-let N = 2
55+let Q = 2
5156
52-let O = 3
57+let R = 3
5358
54-let P = 4
59+let S = 4
5560
56-let Q = 5
61+let T = 5
5762
58-func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
5964
6065
61-func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6267
6368
64-func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
6570
6671
67-func aa () = "%s__config"
72+func ad () = "%s__config"
6873
6974
70-func ab (ac) = ("%s__" + ac)
75+func ae (af) = ("%s__" + af)
7176
7277
73-func ad () = "%s__totals"
78+func ag () = "%s__totals"
7479
7580
76-func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
7782
7883
79-func ah () = "%s__usdnClaimDisabled"
84+func ak () = "%s__usdnClaimDisabled"
8085
8186
82-func ai () = "%s__usdnClaimEndHeight"
87+func al () = "%s__usdnClaimEndHeight"
8388
8489
85-func aj () = "%s__managerPublicKey"
90+func am () = makeString(["%s", "periodLength"], c)
8691
8792
88-func ak () = "%s__pendingManagerPublicKey"
93+func an () = makeString(["%s", "currentPeriod"], c)
8994
9095
91-func al () = split(a(aa()), c)
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9297
9398
94-func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
95100
96101
97-func ao () = am(ad())
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
98103
99104
100-func ap (ac) = am(ab(ac))
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
101106
102107
103-func aq (ac) = split(a(ab(ac)), c)
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
104109
105110
106-let ar = 0
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
107112
108-let as = 1
109113
110-let at = 2
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
111115
112-let au = 3
113116
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))
117+func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
118+
119+
120+func ay () = makeString(["%s", "usdtAssetId"], c)
121+
122+
123+func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
124+
125+
126+func aB () = "%s__managerPublicKey"
127+
128+
129+func aC () = "%s__pendingManagerPublicKey"
130+
131+
132+func aD () = split(a(ad()), c)
133+
134+
135+func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
136+
137+
138+func aG () = aE(ag())
139+
140+
141+func aH (af) = aE(ae(af))
142+
143+
144+func aI (af) = split(a(ae(af)), c)
145+
146+
147+let aJ = 0
148+
149+let aK = 1
150+
151+let aL = 2
152+
153+let aM = 3
154+
155+func aN (b,aO,aP,aQ) = {
156+ let V = parseIntValue(aO[P])
157+ let W = parseIntValue(aO[Q])
158+ let X = parseIntValue(aO[R])
159+ let Y = parseIntValue(aO[S])
160+ let Z = parseIntValue(aO[T])
161+ let aR = (V + aP[aJ])
162+ let aS = (W + aP[aK])
163+ let aT = (X + aP[aL])
164+ let aU = (Y + aP[aM])
165+ if ((0 > aS))
125166 then throw("invalid math")
126- else StringEntry(b, X(az, aA, aB, aC, ay))
167+ else StringEntry(b, aa(aR, aS, aT, aU, aQ))
127168 }
128169
129170
130-func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
171+func aV (af,i,ac,aW) = StringEntry(ah("invest", af, toBase58String(aW)), ab(i, ac))
131172
132173
133-func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
174+func aX (af,i,ac,aW) = StringEntry(ah("claim", af, toBase58String(aW)), ab(i, ac))
134175
135176
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
177+func aY (aZ,af,aW) = {
178+ let ba = aD()
179+ let F = parseIntValue(ba[t])
180+ let G = parseIntValue(ba[u])
181+ let bb = (F + G)
182+ let k = parseIntValue(ba[v])
183+ let H = parseIntValue(ba[w])
184+ let I = ba[x]
185+ let bc = fromBase58String(I)
186+ let J = parseIntValue(ba[y])
187+ let K = ba[z]
188+ let bd = fromBase58String(K)
189+ let L = parseIntValue(ba[A])
190+ let be = toString(af)
191+ let bf = aI(be)
192+ let bg = parseIntValue(bf[P])
193+ let bh = parseIntValue(bf[T])
194+ let bi = if ((F >= bh))
195+ then F
196+ else bh
197+ let bj = if ((height > bb))
198+ then bb
199+ else if ((F > height))
200+ then F
160201 else height
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"))
169- then {
170- let aZ = aY
171- (height > aZ)
172- }
173- else if ($isInstanceOf(aY, "Unit"))
174- then false
175- else throw("Match error")
176- }
177- let ba = [if (!(if (aV)
178- then aW
202+ let bk = (bj - bi)
203+ let bl = fraction(bg, bk, G)
204+ let bm = h(bl, L, k, H, J)
205+ let bn = (aZ == K)
206+ let bo = valueOrElse(getBoolean(ak()), false)
207+ let bp = [if (!(if (bn)
208+ then bo
179209 else false))
180210 then true
181- else throw("USDN claim is disabled"), if (!(if (aV)
182- then aX
183- else false))
184- then true
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))
211+ else throw("USDN claim is disabled")]
212+ if ((bp == bp))
213+ then if ((aZ == K))
214+ then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
215+ else if ((aZ == I))
216+ then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
217+ else throw(("unsupported assetId: " + aZ))
192218 else throw("Strict value is not equal to itself.")
193219 }
194220
195221
196-func bb () = {
197- let aY = getString(aj())
198- if ($isInstanceOf(aY, "String"))
222+func bq (K,be,br,bs) = {
223+ let bt = value(getInteger(as(K)))
224+ let bu = value(getInteger(au(K)))
225+ let bv = value(getInteger(am()))
226+ let bw = valueOrElse(getInteger(an()), 0)
227+ let bx = isDefined(getInteger(aq(0)))
228+ let by = if ((bw > 0))
199229 then {
200- let bc = aY
201- fromBase58String(bc)
230+ let bz = value(getInteger(ao(bw)))
231+ let bA = value(getInteger(aq(bw)))
232+ let bB = if ((height > bA))
233+ then {
234+ let bC = (bw + 1)
235+ let bD = if ((height > (bA + bv)))
236+ then {
237+ let bE = ((height - bA) % bv)
238+ if ((bE == 0))
239+ then ((height - bv) + 1)
240+ else (height - bE)
241+ }
242+ else (bA + 1)
243+ let bF = ((bD + bv) - 1)
244+ $Tuple3(bC, bD, bF)
245+ }
246+ else $Tuple3(bw, bz, bA)
247+ let bC = bB._1
248+ let bD = bB._2
249+ let bF = bB._3
250+ $Tuple3(bC, bD, bF)
202251 }
203- else if ($isInstanceOf(aY, "Unit"))
252+ else if (bx)
253+ then {
254+ let bG = value(getInteger(ao(0)))
255+ let bH = value(getInteger(aq(0)))
256+ let bI = if ((height > bH))
257+ then {
258+ let bC = (bw + 1)
259+ let bD = (bH + 1)
260+ let bF = ((bD + bv) - 1)
261+ $Tuple3(bC, bD, bF)
262+ }
263+ else $Tuple3(bw, bG, bH)
264+ let bC = bI._1
265+ let bD = bI._2
266+ let bF = bI._3
267+ $Tuple3(bC, bD, bF)
268+ }
269+ else $Tuple3(bw, valueOrElse(getInteger(ao(bw)), height), valueOrElse(getInteger(aq(bw)), ((height + bv) - 1)))
270+ let bC = by._1
271+ let bD = by._2
272+ let bF = by._3
273+ let bJ = valueOrElse(getInteger(av(K, bC)), bt)
274+ let bK = valueOrElse(getInteger(aw(K, bC, be)), bu)
275+ let bL = valueOrElse(getInteger(az(be)), 0)
276+ let bM = min([(br + bL), bJ, bK])
277+ let bN = value(getInteger(ar()))
278+ let bO = e
279+ let bP = {
280+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bO, K], nil)
281+ if ($isInstanceOf(bQ, "(Int, Int, Int)"))
282+ then bQ
283+ else throw("Couldn't cast Any to (Int, Int, Int)")
284+ }
285+ if ((bP == bP))
286+ then {
287+ let bR = bP._3
288+ let bS = bP._2
289+ let bT = bP._1
290+ let bU = value(getString(ay()))
291+ let bV = {
292+ let bQ = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bU, bT], nil)
293+ if ($isInstanceOf(bQ, "(Int, Int)"))
294+ then bQ
295+ else throw("Couldn't cast Any to (Int, Int)")
296+ }
297+ if ((bV == bV))
298+ then {
299+ let bW = bV._2
300+ let bX = bV._1
301+ let bY = fraction(bX, bO, e)
302+ let bZ = (bF - height)
303+ $Tuple10(bM, bJ, bK, bs, bN, bY, bZ, bC, bD, bF)
304+ }
305+ else throw("Strict value is not equal to itself.")
306+ }
307+ else throw("Strict value is not equal to itself.")
308+ }
309+
310+
311+func ca () = {
312+ let cb = getString(aB())
313+ if ($isInstanceOf(cb, "String"))
314+ then {
315+ let cc = cb
316+ fromBase58String(cc)
317+ }
318+ else if ($isInstanceOf(cb, "Unit"))
204319 then unit
205320 else throw("Match error")
206321 }
207322
208323
209-func bd () = {
210- let aY = getString(ak())
211- if ($isInstanceOf(aY, "String"))
324+func cd () = {
325+ let cb = getString(aC())
326+ if ($isInstanceOf(cb, "String"))
212327 then {
213- let bc = aY
214- fromBase58String(bc)
328+ let cc = cb
329+ fromBase58String(cc)
215330 }
216- else if ($isInstanceOf(aY, "Unit"))
331+ else if ($isInstanceOf(cb, "Unit"))
217332 then unit
218333 else throw("Match error")
219334 }
220335
221336
222-func be (bf) = {
223- let bg = throw("Permission denied")
224- let aY = bb()
225- if ($isInstanceOf(aY, "ByteVector"))
337+func ce (cf) = {
338+ let cg = throw("Permission denied")
339+ let cb = ca()
340+ if ($isInstanceOf(cb, "ByteVector"))
226341 then {
227- let bh = aY
228- if ((bf.callerPublicKey == bh))
342+ let ch = cb
343+ if ((cf.callerPublicKey == ch))
229344 then true
230- else bg
345+ else cg
231346 }
232- else if ($isInstanceOf(aY, "Unit"))
233- then if ((bf.caller == this))
347+ else if ($isInstanceOf(cb, "Unit"))
348+ then if ((cf.caller == this))
234349 then true
235- else bg
350+ else cg
236351 else throw("Match error")
237352 }
238353
239354
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())))
355+@Callable(cf)
356+func constructor (D,E,F,G,k,K,M) = {
357+ let H = ((100 * 1000) * 1000)
358+ let ci = (D + E)
359+ if (isDefined(getString(ad())))
245360 then throw("already initialized")
246- else if (("3N4nTJ5sSp5X5ChS2bBBmwNMn1eeRzT1FoP" != toString(bf.caller)))
361+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cf.caller)))
247362 then throw("not authorized")
248- else if ((size(bf.payments) != 1))
363+ else if ((size(cf.payments) != 1))
249364 then throw("exactly 1 payment must be attached")
250- else if ((bi >= C))
365+ else if ((ci >= F))
251366 then throw("claimStart must be greater than idoEnd")
252367 else {
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)]
368+ let cj = value(cf.payments[0])
369+ let bc = value(cj.assetId)
370+ let ck = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
371+ let I = toBase58String(bc)
372+ let J = pow(10, 0, ck.decimals, 0, 0, DOWN)
373+ let bd = fromBase58String(K)
374+ let cl = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
375+ let L = pow(10, 0, cl.decimals, 0, 0, DOWN)
376+ let cm = aG()
377+ let cn = [0, 0, 0, 0]
378+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cj.amount)), aN(ag(), cm, cn, F)]
264379 }
265380 }
266381
267382
268383
269-@Callable(bf)
384+@Callable(cf)
270385 func invest () = {
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))
386+ let ba = aD()
387+ let D = parseIntValue(ba[r])
388+ let E = parseIntValue(ba[s])
389+ let ci = (D + E)
390+ let F = parseIntValue(ba[t])
391+ let G = parseIntValue(ba[u])
392+ let k = parseIntValue(ba[v])
393+ let H = parseIntValue(ba[w])
394+ let I = ba[x]
395+ let bc = fromBase58String(I)
396+ let J = parseIntValue(ba[y])
397+ let K = ba[z]
398+ let bd = fromBase58String(K)
399+ let L = parseIntValue(ba[A])
400+ let co = parseIntValue(ba[B])
401+ let af = toString(cf.caller)
402+ if ((D > height))
288403 then throw("ido has not been started yet")
289- else if ((height > bi))
404+ else if ((height > ci))
290405 then throw("ido has been already ended")
291- else if ((size(bf.payments) != 1))
406+ else if ((size(cf.payments) != 1))
292407 then throw("exactly 1 payment is expected")
293408 else {
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"))
409+ let cj = value(cf.payments[0])
410+ let cp = value(cj.assetId)
411+ let cq = cj.amount
412+ if ((cp != bd))
413+ then throw((("invalid payment asset id: " + toBase58String(cp)) + " is expected"))
299414 else {
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)))
415+ let cr = aH(af)
416+ let cm = aG()
417+ let cs = (parseIntValue(cm[P]) + cq)
418+ let ct = (cs * 100)
419+ if ((ct > assetBalance(this, bc)))
305420 then throw("IDO asset has been - sold consider to use smaller payment")
306421 else {
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)]
422+ let cn = [cq, cq, 0, 0]
423+[aN(ae(af), cr, cn, F), aN(ag(), cm, cn, F), aV(af, cq, 0, cf.transactionId)]
309424 }
310425 }
311426 }
312427 }
313428
314429
315430
316-@Callable(bf)
317-func claim (aH,aM) = {
318- let bu = toString(bf.caller)
319- if ((aM != bu))
431+@Callable(cf)
432+func claim (aZ,be) = {
433+ let cu = toString(cf.caller)
434+ if ((be != cu))
320435 then throw("not authorized")
321436 else {
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)
437+ let ba = aD()
438+ let K = ba[z]
439+ let cv = aY(aZ, cf.caller, cf.transactionId)
440+ let cn = cv._1
441+ let br = cv._2
442+ let cw = cv._3
443+ let bf = cv._4
444+ let bj = cv._5
445+ let cx = cn[aL]
446+ let cy = cn[aM]
447+ let cz = if ((aZ == K))
448+ then {
449+ let cA = bq(K, be, br, cn[aL])
450+ let bM = cA._1
451+ let bJ = cA._2
452+ let bK = cA._3
453+ let bs = cA._4
454+ let bN = cA._5
455+ let bY = cA._6
456+ let bZ = cA._7
457+ let bC = cA._8
458+ let bD = cA._9
459+ let bF = cA._10
460+ let bp = [if ((bK > 0))
461+ then true
462+ else f("unavailable to claim because user period allowance reached"), if ((bJ > 0))
463+ then true
464+ else f("unavailable to claim because total period allowance reached"), if ((bM > 0))
465+ then true
466+ else f("nothing to claim"), if ((bN > bY))
467+ then true
468+ else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
469+ if ((bp == bp))
470+ then {
471+ let bL = valueOrElse(getInteger(az(be)), 0)
472+ let cB = (bJ - bM)
473+ let cC = (bK - bM)
474+ let cz = if ((bL >= bM))
475+ then [ScriptTransfer(cf.caller, bM, cw), IntegerEntry(az(be), (bL - bM))]
476+ else {
477+ let cD = ((bL + br) - bM)
478+[ScriptTransfer(cf.caller, bM, cw), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), IntegerEntry(az(be), cD)]
479+ }
480+ $Tuple2(([IntegerEntry(an(), bC), IntegerEntry(ao(bC), bD), IntegerEntry(aq(bC), bF), IntegerEntry(av(K, bC), cB), IntegerEntry(aw(K, bC, be), cC), aX(be, bM, cy, cf.transactionId)] ++ cz), unit)
481+ }
482+ else throw("Strict value is not equal to itself.")
483+ }
484+ else $Tuple2([ScriptTransfer(cf.caller, br, cw), IntegerEntry(az(be), 0), aN(ae(be), bf, cn, bj), aN(ag(), aG(), cn, bj), aX(be, cx, cy, cf.transactionId)], unit)
485+ cz
331486 }
332487 }
333488
334489
335490
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))
491+@Callable(cf)
492+func claimREADONLY (aZ,be) = {
493+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
494+ let cn = cv._1
495+ let br = cv._2
496+ let cw = cv._3
497+ let bf = cv._4
498+ let bj = cv._5
499+ let cE = cv._6
500+ let cF = cE[0]
501+ let cG = cE[1]
502+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cF), toString(cG)], c))
348503 }
349504
350505
351506
352-@Callable(bf)
353-func setManager (bD) = {
354- let bE = be(bf)
355- if ((bE == bE))
507+@Callable(cf)
508+func claimV2READONLY (aZ,be) = {
509+ let cv = aY(aZ, addressFromStringValue(be), fromBase58String(""))
510+ let cn = cv._1
511+ let br = cv._2
512+ let cw = cv._3
513+ let bf = cv._4
514+ let bj = cv._5
515+ let cE = cv._6
516+ let cF = cE[0]
517+ let cG = cE[1]
518+ let ba = aD()
519+ let K = ba[z]
520+ let bL = valueOrElse(getInteger(az(be)), 0)
521+ let cH = (cG + bL)
522+ let cI = bq(K, be, br, cn[aL])
523+ let bM = cI._1
524+ let bJ = cI._2
525+ let bK = cI._3
526+ let bs = cI._4
527+ let bN = cI._5
528+ let bY = cI._6
529+ let bZ = cI._7
530+ let bC = cI._8
531+ let bD = cI._9
532+ let bF = cI._10
533+ let cJ = valueOrElse(getInteger(aq(bC)), 0)
534+ let cK = if ((height > cJ))
356535 then {
357- let bF = fromBase58String(bD)
358- if ((bF == bF))
359- then [StringEntry(ak(), bD)]
536+ let cL = value(getInteger(am()))
537+ let cM = value(getInteger(au(K)))
538+ let cN = value(getInteger(as(K)))
539+ makeString(["%d%d%d%d%d%d", toString(cH), toString(cM), toString(cN), toString(bN), toString(bY), toString(cL), toString(br), toString(bM), toString(bK)], c)
540+ }
541+ else makeString(["%d%d%d%d%d%d", toString(cH), toString(bM), toString(bJ), toString(bN), toString(bY), toString(bZ), toString(br), toString(bM), toString(bK)], c)
542+ $Tuple2(nil, cK)
543+ }
544+
545+
546+
547+@Callable(cf)
548+func setManager (cO) = {
549+ let cP = ce(cf)
550+ if ((cP == cP))
551+ then {
552+ let cQ = fromBase58String(cO)
553+ if ((cQ == cQ))
554+ then [StringEntry(aC(), cO)]
360555 else throw("Strict value is not equal to itself.")
361556 }
362557 else throw("Strict value is not equal to itself.")
363558 }
364559
365560
366561
367-@Callable(bf)
562+@Callable(cf)
368563 func confirmManager () = {
369- let bG = bd()
370- let bH = if (isDefined(bG))
564+ let cR = cd()
565+ let cS = if (isDefined(cR))
371566 then true
372567 else throw("No pending manager")
373- if ((bH == bH))
568+ if ((cS == cS))
374569 then {
375- let bI = if ((bf.callerPublicKey == value(bG)))
570+ let cT = if ((cf.callerPublicKey == value(cR)))
376571 then true
377572 else throw("You are not pending manager")
378- if ((bI == bI))
379- then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
573+ if ((cT == cT))
574+ then [StringEntry(aB(), toBase58String(value(cR))), DeleteEntry(aC())]
380575 else throw("Strict value is not equal to itself.")
381576 }
382577 else throw("Strict value is not equal to itself.")
383578 }
384579
385580
386-@Verifier(bJ)
387-func bK () = {
388- let bL = {
389- let aY = bb()
390- if ($isInstanceOf(aY, "ByteVector"))
581+@Verifier(cU)
582+func cV () = {
583+ let cW = {
584+ let cb = ca()
585+ if ($isInstanceOf(cb, "ByteVector"))
391586 then {
392- let bh = aY
393- bh
587+ let ch = cb
588+ ch
394589 }
395- else if ($isInstanceOf(aY, "Unit"))
396- then bJ.senderPublicKey
590+ else if ($isInstanceOf(cb, "Unit"))
591+ then cU.senderPublicKey
397592 else throw("Match error")
398593 }
399- sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
594+ sigVerify(cU.bodyBytes, cU.proofs[0], cW)
400595 }
401596

github/deemru/w8io/026f985 
147.55 ms