tx · 6Pyeu4rysR1tH9b9iEZTFzGJWscV4Mjwftqita2iRytZ

3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv:  -0.02500000 Waves

2022.11.02 20:43 [2299803] smart account 3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv > SELF 0.00000000 Waves

{ "type": 13, "id": "6Pyeu4rysR1tH9b9iEZTFzGJWscV4Mjwftqita2iRytZ", "fee": 2500000, "feeAssetId": null, "timestamp": 1667411078679, "version": 1, "sender": "3MvZpvvbmovEt3pvdDZKvhKRjjQxdbUD6Tv", "senderPublicKey": "39YkRD2qWXTcdNBr4CbDnm8g8SAB2FKVaDeGYahcFHHx", "proofs": [ "37t5dJoK1KqK3yympARiPrSkmRNtxowrLcQGY35LcNxRy6NFP8fmdnwePZBN2cBLps1J37NiK4tWhzrHwgZtGtoc" ], "script": "base64:AAIFAAAAAAAADfYIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIObmV3VG90YWxBbW91bnQiEm5ld1JlbWFpbmluZ0Ftb3VudCIabmV3Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQiGG5ld0NsYWltZWRJZG9Bc3NldEFtb3VudCIbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5IgR0eElkIhpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeSINaW50ZXJuYWxDbGFpbSIQY2xhaW1lZEFzc2V0SWQ1OCIIY2ZnQXJyYXkiCGNsYWltRW5kIgppZG9Bc3NldElkIgxwcmljZUFzc2V0SWQiDXVzZXJBZGRyZXNzNTgiD29yaWdJbnZlc3RBcnJheSIRaW52ZXN0VG90YWxBbW91bnQiGmludmVzdExhc3RDbGFpbWVkSGVpZ2h0VE1QIhdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodCIUbmV3Q2xhaW1QZXJpb2RIZWlnaHQiDmNsYWltaW5nQmxvY2tzIhhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQiFmNsYWltaW5nSWRvQXNzZXRBbW91bnQiBmlzVVNETiITaXNVU0ROQ2xhaW1EaXNhYmxlZCIQaXNVU0ROQ2xhaW1FbmRlZCIHJG1hdGNoMCIDZW5kIgZjaGVja3MiD2ludGVybmFsQ2xhaW1WMiIJb3V0QW1vdW50Ihl0b3RhbFVzZXJBdmFpbGFibGVUb0NsYWltIh50b3RhbFBlcmlvZFByaWNlQXNzZXRBbGxvd2FuY2UiHXVzZXJQZXJpb2RQcmljZUFzc2V0QWxsb3dhbmNlIgxwZXJpb2RMZW5ndGgiDWN1cnJlbnRQZXJpb2QiDSR0MDExOTQ3MTI4NjUiFWxhc3RQZXJpb2RTdGFydEhlaWdodCITbGFzdFBlcmlvZEVuZEhlaWdodCINJHQwMTIyMTUxMjU5NyIUdXBkYXRlZEN1cnJlbnRQZXJpb2QiC3BlcmlvZFN0YXJ0IglwZXJpb2RFbmQiG3BlcmlvZFRvdGFsQXZhaWxhYmxlVG9DbGFpbSIacGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iGXBlcmlvZE1pbkF2YWlsYWJsZVRvQ2xhaW0iHHVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iG3B1dE9uZVRrblYyUHJpY2VBc3NldEFtb3VudCINJHQwMTM1MDgxMzc2MSIBQCIFYm9udXMiCWZlZUFtb3VudCIIbHBBbW91bnQiC3VzZHRBc3NldElkIg0kdDAxMzgyMzE0MDQxIhRnZXRPbmVUa25WMkZlZUFtb3VudCIKdXNkdEFtb3VudCIaY3VycmVudFVzZHRQcmljZUFzc2V0UmF0aW8iE2VuZFBlcmlvZEJsb2Nrc0xlZnQiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiAXMiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IgttdXN0TWFuYWdlciIBaSICcGQiAnBrIgZpZG9FbmQiA3BtdCIMaWRvQXNzZXRJbmZvIg5wcmljZUFzc2V0SW5mbyIPb3JpZ1RvdGFsc0FycmF5Igp0b3RhbHNEaWZmIg5taW5JdmVzdEFtb3VudCIKcG10QXNzZXRJZCIJcG10QW1vdW50IhFvcmlnSW52ZXN0b3JBcnJheSITbmV3UHJpY2VUb3RhbEFtb3VudCIWcmVxdWlyZWRJZG9Bc3NldEFtb3VudCIPY2FsbGVyQWRkcmVzczU4IhBjbGFpbVJlc3VsdFR1cGxlIgpvdXRBc3NldElkIhpjbGFpbWVkUHJpY2VBbW91bnRGcm9tRGlmZiIdY2xhaW1lZElkb0Fzc2V0QW1vdW50RnJvbURpZmYiB2VudHJpZXMiDSR0MDE5Njk3MjAxNDEiEXByaWNlQXNzZXRCYWxhbmNlIiJ1cGRhdGVkUGVyaW9kVG90YWxBdmFpbGFibGVUb0NsYWltIiF1cGRhdGVkUGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iGHVwZGF0ZWRQcmljZUFzc2V0QmFsYW5jZSIVYXZhaWxhYmxlVG9DbGFpbUFycmF5IhthdmFpbGFibGVQcmljZUFtb3VudFRvQ2xhaW0iGWF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW0iDSR0MDI1OTE0MjYzMjYiDHJlc3VsdFN0cmluZyIXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiC2NoZWNrQ2FsbGVyIhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5AAAAQAEAAAABYQAAAAEA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", "chainId": 84, "height": 2299803, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: iVezS8psV1r55PtN5XbtJNZWqJh4tKZYsgsSNKrtzdN Next: BYFf18BfN9tf27BNhAQPMaJkRPWBMDL1uR8NNCwKgtco Diff:
OldNewDifferences
1010
1111 let e = 100000000
1212
13-func f (g,h,i,j,k) = {
14- let l = toBigInt(h)
15- let m = toBigInt(k)
16- let n = fraction(toBigInt(g), d, l)
17- let o = fraction(n, toBigInt(j), toBigInt(i))
18- toInt(fraction(o, toBigInt(k), d))
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))
1922 }
2023
2124
22-let p = 1
25+let r = 1
2326
24-let q = 2
27+let s = 2
2528
26-let r = 3
29+let t = 3
2730
28-let s = 4
31+let u = 4
2932
30-let t = 5
33+let v = 5
3134
32-let u = 6
35+let w = 6
3336
34-let v = 7
37+let x = 7
3538
36-let w = 8
39+let y = 8
3740
38-let x = 9
41+let z = 9
3942
40-let y = 10
43+let A = 10
4144
42-let z = 11
45+let B = 11
4346
44-func A (B,C,D,E,i,F,G,H,I,J,K,L) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", B, C, D, E, i, F, G, H, I, J, K, L], 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)
4548
4649
47-func M (B,C,D,E,i,F,G,H,I,J,K,L) = A(toString(B), toString(C), toString(D), toString(E), toString(i), toString(F), G, toString(H), I, toString(J), toString(K), toString(L))
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))
4851
4952
50-let N = 1
53+let P = 1
5154
52-let O = 2
55+let Q = 2
5356
54-let P = 3
57+let R = 3
5558
56-let Q = 4
59+let S = 4
5760
58-let R = 5
61+let T = 5
5962
60-func S (T,U,V,W,X) = makeString(["%d%d%d%d%d", T, U, V, W, X], c)
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
6164
6265
63-func Y (T,U,V,W,X) = S(toString(T), toString(U), toString(V), toString(W), toString(X))
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6467
6568
66-func Z (g,aa) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(g), toString(aa)], c)
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
6770
6871
69-func ab () = "%s__config"
72+func ad () = "%s__config"
7073
7174
72-func ac (ad) = ("%s__" + ad)
75+func ae (af) = ("%s__" + af)
7376
7477
75-func ae () = "%s__totals"
78+func ag () = "%s__totals"
7679
7780
78-func af (ag,ad,ah) = makeString(["%s%s%s%s__history", ag, ad, ah], c)
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
7982
8083
81-func ai () = "%s__usdnClaimDisabled"
84+func ak () = "%s__usdnClaimDisabled"
8285
8386
84-func aj () = "%s__usdnClaimEndHeight"
87+func al () = "%s__usdnClaimEndHeight"
8588
8689
87-func ak () = makeString(["%s", "periodLength"], c)
90+func am () = makeString(["%s", "periodLength"], c)
8891
8992
90-func al () = makeString(["%s", "currentPeriod"], c)
93+func an () = makeString(["%s", "currentPeriod"], c)
9194
9295
93-func am (an) = makeString(["%s%s", "periodStartHeight", toString(an)], c)
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9497
9598
96-func ao (an) = makeString(["%s%s", "periodEndHeight", toString(an)], c)
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
97100
98101
99-func ap () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
100103
101104
102-func aq (ar) = makeString(["%s%s", "totalPeriodAllowance", ar], c)
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
103106
104107
105-func as (ar) = makeString(["%s%s", "userPeriodAllowance", ar], c)
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
106109
107110
108-func at (ar,an) = makeString(["%s%s%s", "periodTotalAvailableToClaim", ar, toString(an)], c)
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
109112
110113
111-func au (ar,an,ad) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", ar, toString(an), ad], c)
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
112115
113116
114-func av () = makeString(["%s", "usdtPriceAssetStablePool"], c)
117+func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
115118
116119
117-func aw () = makeString(["%s", "usdtAssetId"], c)
120+func ay () = makeString(["%s", "usdtAssetId"], c)
118121
119122
120-func ax (ay) = makeString(["%s%s", "priceAssetBalance", ay], c)
123+func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
121124
122125
123-func az () = "%s__managerPublicKey"
126+func aB () = "%s__managerPublicKey"
124127
125128
126-func aA () = "%s__pendingManagerPublicKey"
129+func aC () = "%s__pendingManagerPublicKey"
127130
128131
129-func aB () = split(a(ab()), c)
132+func aD () = split(a(ad()), c)
130133
131134
132-func aC (aD) = split(valueOrElse(getString(aD), S("0", "0", "0", "0", "0")), c)
135+func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
133136
134137
135-func aE () = aC(ae())
138+func aG () = aE(ag())
136139
137140
138-func aF (ad) = aC(ac(ad))
141+func aH (af) = aE(ae(af))
139142
140143
141-func aG (ad) = split(a(ac(ad)), c)
144+func aI (af) = split(a(ae(af)), c)
142145
143146
144-let aH = 0
147+let aJ = 0
145148
146-let aI = 1
149+let aK = 1
147150
148-let aJ = 2
151+let aL = 2
149152
150-let aK = 3
153+let aM = 3
151154
152-func aL (b,aM,aN,aO) = {
153- let T = parseIntValue(aM[N])
154- let U = parseIntValue(aM[O])
155- let V = parseIntValue(aM[P])
156- let W = parseIntValue(aM[Q])
157- let X = parseIntValue(aM[R])
158- let aP = (T + aN[aH])
159- let aQ = (U + aN[aI])
160- let aR = (V + aN[aJ])
161- let aS = (W + aN[aK])
162- if ((0 > aQ))
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))
163166 then throw("invalid math")
164- else StringEntry(b, Y(aP, aQ, aR, aS, aO))
167+ else StringEntry(b, aa(aR, aS, aT, aU, aQ))
165168 }
166169
167170
168-func aT (ad,g,aa,aU) = StringEntry(af("invest", ad, toBase58String(aU)), Z(g, aa))
171+func aV (af,i,ac,aW) = StringEntry(ah("invest", af, toBase58String(aW)), ab(i, ac))
169172
170173
171-func aV (ad,g,aa,aU) = StringEntry(af("claim", ad, toBase58String(aU)), Z(g, aa))
174+func aX (af,i,ac,aW) = StringEntry(ah("claim", af, toBase58String(aW)), ab(i, ac))
172175
173176
174-func aW (aX,ad,aU) = {
175- let aY = aB()
176- let D = parseIntValue(aY[r])
177- let E = parseIntValue(aY[s])
178- let aZ = (D + E)
179- let i = parseIntValue(aY[t])
180- let F = parseIntValue(aY[u])
181- let G = aY[v]
182- let ba = fromBase58String(G)
183- let H = parseIntValue(aY[w])
184- let I = aY[x]
185- let bb = fromBase58String(I)
186- let J = parseIntValue(aY[y])
187- let bc = toString(ad)
188- let bd = aG(bc)
189- let be = parseIntValue(bd[N])
190- let bf = parseIntValue(bd[R])
191- let bg = if ((D >= bf))
192- then D
193- else bf
194- let bh = if ((height > aZ))
195- then aZ
196- else if ((D > height))
197- then D
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
198201 else height
199- let bi = (bh - bg)
200- let bj = fraction(be, bi, E)
201- let bk = f(bj, J, i, F, H)
202- let bl = (aX == I)
203- let bm = valueOrElse(getBoolean(ai()), false)
204- let bn = {
205- let bo = getInteger(aj())
206- if ($isInstanceOf(bo, "Int"))
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 = {
208+ let bq = getInteger(al())
209+ if ($isInstanceOf(bq, "Int"))
207210 then {
208- let bp = bo
209- (height > bp)
211+ let br = bq
212+ (height > br)
210213 }
211- else if ($isInstanceOf(bo, "Unit"))
214+ else if ($isInstanceOf(bq, "Unit"))
212215 then false
213216 else throw("Match error")
214217 }
215- let bq = [if (!(if (bl)
216- then bm
218+ let bs = [if (!(if (bn)
219+ then bo
217220 else false))
218221 then true
219- else throw("USDN claim is disabled"), if (!(if (bl)
220- then bn
222+ else throw("USDN claim is disabled"), if (!(if (bn)
223+ then bp
221224 else false))
222225 then true
223226 else throw("USDN claim is ended")]
224- if ((bq == bq))
225- then if ((aX == I))
226- then $Tuple6([0, -(bj), bj, 0], bj, bb, bd, bh, [bj, bk])
227- else if ((aX == G))
228- then $Tuple6([0, -(bj), 0, bk], bk, ba, bd, bh, [bj, bk])
229- else throw(("unsupported assetId: " + aX))
227+ if ((bs == bs))
228+ then if ((aZ == K))
229+ then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
230+ else if ((aZ == I))
231+ then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
232+ else throw(("unsupported assetId: " + aZ))
230233 else throw("Strict value is not equal to itself.")
231234 }
232235
233236
234-func br (I,bc,bs,bt) = {
235- let bu = value(getInteger(aq(I)))
236- let bv = value(getInteger(as(I)))
237- let bw = value(getInteger(ak()))
238- let bx = valueOrElse(getInteger(al()), 0)
239- let by = if ((bx > 0))
237+func bt (K,be,bu,bv) = {
238+ let bw = value(getInteger(as(K)))
239+ let bx = value(getInteger(au(K)))
240+ let by = value(getInteger(am()))
241+ let bz = valueOrElse(getInteger(an()), 0)
242+ let bA = if ((bz > 0))
240243 then {
241- let bz = value(getInteger(am((bx - 1))))
242- let bA = value(getInteger(ao((bx - 1))))
243- let bB = if ((height > bA))
244+ let bB = value(getInteger(ao((bz - 1))))
245+ let bC = value(getInteger(aq((bz - 1))))
246+ let bD = if ((height > bC))
244247 then {
245- let bC = (bx + 1)
246- let bD = (bA + 1)
247- let bE = ((bD + bw) - 1)
248- $Tuple3(bC, bD, bE)
248+ let bE = (bz + 1)
249+ let bF = (bC + 1)
250+ let bG = ((bF + by) - 1)
251+ $Tuple3(bE, bF, bG)
249252 }
250- else $Tuple3(bx, bz, bA)
251- let bC = bB._1
252- let bD = bB._2
253- let bE = bB._3
254- $Tuple3(bC, bD, bE)
253+ else $Tuple3(bz, bB, bC)
254+ let bE = bD._1
255+ let bF = bD._2
256+ let bG = bD._3
257+ $Tuple3(bE, bF, bG)
255258 }
256- else $Tuple3(bx, valueOrElse(getInteger(am(bx)), height), valueOrElse(getInteger(ao(bx)), ((height + bw) - 1)))
257- let bC = by._1
258- let bD = by._2
259- let bE = by._3
260- let bF = valueOrElse(getInteger(at(I, bC)), bu)
261- let bG = valueOrElse(getInteger(au(I, bC, bc)), bv)
262- let bH = min([bs, bF, bG])
263- let bI = value(getInteger(ap()))
264- let bJ = e
265- let bK = {
266- let bL = invoke(addressFromStringValue(value(getString(av()))), "putOneTknV2WithoutTakeFeeREADONLY", [bJ, I], nil)
267- if ($isInstanceOf(bL, "(Int, Int, Int)"))
268- then bL
259+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
260+ let bE = bA._1
261+ let bF = bA._2
262+ let bG = bA._3
263+ let bH = valueOrElse(getInteger(av(K, bE)), bw)
264+ let bI = valueOrElse(getInteger(aw(K, bE, be)), bx)
265+ let bJ = min([bu, bH, bI])
266+ let bK = value(getInteger(ar()))
267+ let bL = e
268+ let bM = {
269+ let bN = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bL, K], nil)
270+ if ($isInstanceOf(bN, "(Int, Int, Int)"))
271+ then bN
269272 else throw("Couldn't cast Any to (Int, Int, Int)")
270273 }
271- if ((bK == bK))
274+ if ((bM == bM))
272275 then {
273- let bM = bK._3
274- let bN = bK._2
275- let bO = bK._1
276- let bP = value(getString(aw()))
277- let bQ = {
278- let bL = invoke(addressFromStringValue(value(getString(av()))), "getOneTknV2READONLY", [bP, bO], nil)
279- if ($isInstanceOf(bL, "(Int, Int)"))
280- then bL
276+ let bO = bM._3
277+ let bP = bM._2
278+ let bQ = bM._1
279+ let bR = value(getString(ay()))
280+ let bS = {
281+ let bN = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bR, bQ], nil)
282+ if ($isInstanceOf(bN, "(Int, Int)"))
283+ then bN
281284 else throw("Couldn't cast Any to (Int, Int)")
282285 }
283- if ((bQ == bQ))
286+ if ((bS == bS))
284287 then {
285- let bR = bQ._2
286- let bS = bQ._1
287- let bT = fraction(bS, bJ, e)
288- let bU = (bE - height)
289- $Tuple10(bH, bF, bG, bt, bI, bT, bU, bC, bD, bE)
288+ let bT = bS._2
289+ let bU = bS._1
290+ let bV = fraction(bU, bL, e)
291+ let bW = (bG - height)
292+ $Tuple10(bJ, bH, bI, bv, bK, bV, bW, bE, bF, bG)
290293 }
291294 else throw("Strict value is not equal to itself.")
292295 }
294297 }
295298
296299
297-func bV () = {
298- let bo = getString(az())
299- if ($isInstanceOf(bo, "String"))
300+func bX () = {
301+ let bq = getString(aB())
302+ if ($isInstanceOf(bq, "String"))
300303 then {
301- let bW = bo
302- fromBase58String(bW)
304+ let bY = bq
305+ fromBase58String(bY)
303306 }
304- else if ($isInstanceOf(bo, "Unit"))
307+ else if ($isInstanceOf(bq, "Unit"))
305308 then unit
306309 else throw("Match error")
307310 }
308311
309312
310-func bX () = {
311- let bo = getString(aA())
312- if ($isInstanceOf(bo, "String"))
313+func bZ () = {
314+ let bq = getString(aC())
315+ if ($isInstanceOf(bq, "String"))
313316 then {
314- let bW = bo
315- fromBase58String(bW)
317+ let bY = bq
318+ fromBase58String(bY)
316319 }
317- else if ($isInstanceOf(bo, "Unit"))
320+ else if ($isInstanceOf(bq, "Unit"))
318321 then unit
319322 else throw("Match error")
320323 }
321324
322325
323-func bY (bZ) = {
324- let ca = throw("Permission denied")
325- let bo = bV()
326- if ($isInstanceOf(bo, "ByteVector"))
326+func ca (cb) = {
327+ let cc = throw("Permission denied")
328+ let bq = bX()
329+ if ($isInstanceOf(bq, "ByteVector"))
327330 then {
328- let cb = bo
329- if ((bZ.callerPublicKey == cb))
331+ let cd = bq
332+ if ((cb.callerPublicKey == cd))
330333 then true
331- else ca
334+ else cc
332335 }
333- else if ($isInstanceOf(bo, "Unit"))
334- then if ((bZ.caller == this))
336+ else if ($isInstanceOf(bq, "Unit"))
337+ then if ((cb.caller == this))
335338 then true
336- else ca
339+ else cc
337340 else throw("Match error")
338341 }
339342
340343
341-@Callable(bZ)
342-func constructor (B,C,D,E,i,I,K) = {
343- let F = ((100 * 1000) * 1000)
344- let cc = (B + C)
345- if (isDefined(getString(ab())))
344+@Callable(cb)
345+func constructor (D,E,F,G,k,K,M) = {
346+ let H = ((100 * 1000) * 1000)
347+ let ce = (D + E)
348+ if (isDefined(getString(ad())))
346349 then throw("already initialized")
347- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bZ.caller)))
350+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cb.caller)))
348351 then throw("not authorized")
349- else if ((size(bZ.payments) != 1))
352+ else if ((size(cb.payments) != 1))
350353 then throw("exactly 1 payment must be attached")
351- else if ((cc >= D))
354+ else if ((ce >= F))
352355 then throw("claimStart must be greater than idoEnd")
353356 else {
354- let cd = value(bZ.payments[0])
355- let ba = value(cd.assetId)
356- let ce = valueOrErrorMessage(assetInfo(ba), "fail to load ido asset info")
357- let G = toBase58String(ba)
358- let H = pow(10, 0, ce.decimals, 0, 0, DOWN)
359- let bb = fromBase58String(I)
360- let cf = valueOrErrorMessage(assetInfo(bb), "fail to load price asset info")
361- let J = pow(10, 0, cf.decimals, 0, 0, DOWN)
362- let cg = aE()
363- let ch = [0, 0, 0, 0]
364-[StringEntry(ab(), M(B, C, D, E, i, F, G, H, I, J, K, cd.amount)), aL(ae(), cg, ch, D)]
357+ let cf = value(cb.payments[0])
358+ let bc = value(cf.assetId)
359+ let cg = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
360+ let I = toBase58String(bc)
361+ let J = pow(10, 0, cg.decimals, 0, 0, DOWN)
362+ let bd = fromBase58String(K)
363+ let ch = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
364+ let L = pow(10, 0, ch.decimals, 0, 0, DOWN)
365+ let ci = aG()
366+ let cj = [0, 0, 0, 0]
367+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cf.amount)), aN(ag(), ci, cj, F)]
365368 }
366369 }
367370
368371
369372
370-@Callable(bZ)
373+@Callable(cb)
371374 func invest () = {
372- let aY = aB()
373- let B = parseIntValue(aY[p])
374- let C = parseIntValue(aY[q])
375- let cc = (B + C)
376- let D = parseIntValue(aY[r])
377- let E = parseIntValue(aY[s])
378- let i = parseIntValue(aY[t])
379- let F = parseIntValue(aY[u])
380- let G = aY[v]
381- let ba = fromBase58String(G)
382- let H = parseIntValue(aY[w])
383- let I = aY[x]
384- let bb = fromBase58String(I)
385- let J = parseIntValue(aY[y])
386- let ci = parseIntValue(aY[z])
387- let ad = toString(bZ.caller)
388- if ((B > height))
375+ let ba = aD()
376+ let D = parseIntValue(ba[r])
377+ let E = parseIntValue(ba[s])
378+ let ce = (D + E)
379+ let F = parseIntValue(ba[t])
380+ let G = parseIntValue(ba[u])
381+ let k = parseIntValue(ba[v])
382+ let H = parseIntValue(ba[w])
383+ let I = ba[x]
384+ let bc = fromBase58String(I)
385+ let J = parseIntValue(ba[y])
386+ let K = ba[z]
387+ let bd = fromBase58String(K)
388+ let L = parseIntValue(ba[A])
389+ let ck = parseIntValue(ba[B])
390+ let af = toString(cb.caller)
391+ if ((D > height))
389392 then throw("ido has not been started yet")
390- else if ((height > cc))
393+ else if ((height > ce))
391394 then throw("ido has been already ended")
392- else if ((size(bZ.payments) != 1))
395+ else if ((size(cb.payments) != 1))
393396 then throw("exactly 1 payment is expected")
394397 else {
395- let cd = value(bZ.payments[0])
396- let cj = value(cd.assetId)
397- let ck = cd.amount
398- if ((cj != bb))
399- then throw((("invalid payment asset id: " + toBase58String(cj)) + " is expected"))
398+ let cf = value(cb.payments[0])
399+ let cl = value(cf.assetId)
400+ let cm = cf.amount
401+ if ((cl != bd))
402+ then throw((("invalid payment asset id: " + toBase58String(cl)) + " is expected"))
400403 else {
401- let cl = aF(ad)
402- let cg = aE()
403- let cm = (parseIntValue(cg[N]) + ck)
404- let cn = (cm * 100)
405- if ((cn > assetBalance(this, ba)))
404+ let cn = aH(af)
405+ let ci = aG()
406+ let co = (parseIntValue(ci[P]) + cm)
407+ let cp = (co * 100)
408+ if ((cp > assetBalance(this, bc)))
406409 then throw("IDO asset has been - sold consider to use smaller payment")
407410 else {
408- let ch = [ck, ck, 0, 0]
409-[aL(ac(ad), cl, ch, D), aL(ae(), cg, ch, D), aT(ad, ck, 0, bZ.transactionId)]
411+ let cj = [cm, cm, 0, 0]
412+[aN(ae(af), cn, cj, F), aN(ag(), ci, cj, F), aV(af, cm, 0, cb.transactionId)]
410413 }
411414 }
412415 }
414417
415418
416419
417-@Callable(bZ)
418-func claim (aX,bc) = {
419- let co = toString(bZ.caller)
420- if ((bc != co))
420+@Callable(cb)
421+func claim (aZ,be) = {
422+ let cq = toString(cb.caller)
423+ if ((be != cq))
421424 then throw("not authorized")
422425 else {
423- let aY = aB()
424- let I = aY[x]
425- let cp = aW(aX, bZ.caller, bZ.transactionId)
426- let ch = cp._1
427- let bs = cp._2
428- let cq = cp._3
429- let bd = cp._4
430- let bh = cp._5
431- let cr = ch[aJ]
432- let cs = ch[aK]
433- let ct = if ((aX == I))
426+ let ba = aD()
427+ let K = ba[z]
428+ let cr = aY(aZ, cb.caller, cb.transactionId)
429+ let cj = cr._1
430+ let bu = cr._2
431+ let cs = cr._3
432+ let bf = cr._4
433+ let bj = cr._5
434+ let ct = cj[aL]
435+ let cu = cj[aM]
436+ let cv = if ((aZ == K))
434437 then {
435- let cu = br(I, bc, bs, ch[aJ])
436- let bH = cu._1
437- let bF = cu._2
438- let bG = cu._3
439- let bt = cu._4
440- let bI = cu._5
441- let bT = cu._6
442- let bU = cu._7
443- let bC = cu._8
444- let bD = cu._9
445- let bE = cu._10
446- let cv = valueOrElse(getInteger(ax(bc)), 0)
447- let cw = (bF - bH)
448- let cx = (bG - bH)
449- let ct = if ((cv >= bH))
450- then [ScriptTransfer(bZ.caller, bH, cq), IntegerEntry(ax(bc), (cv - bH))]
451- else {
452- let cy = ((cv + bs) - bH)
453-[ScriptTransfer(bZ.caller, bH, cq), aL(ac(bc), bd, ch, bh), aL(ae(), aE(), ch, bh), IntegerEntry(ax(bc), cy)]
438+ let cw = bt(K, be, bu, cj[aL])
439+ let bJ = cw._1
440+ let bH = cw._2
441+ let bI = cw._3
442+ let bv = cw._4
443+ let bK = cw._5
444+ let bV = cw._6
445+ let bW = cw._7
446+ let bE = cw._8
447+ let bF = cw._9
448+ let bG = cw._10
449+ let bs = [if ((bJ > 0))
450+ then true
451+ else f("nothing to claim"), if ((bI > 0))
452+ then true
453+ else f("unavailable to claim because user period allowance reached"), if ((bH > 0))
454+ then true
455+ else f("unavailable to claim because total period allowance reached"), if ((bK > bV))
456+ then true
457+ else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
458+ if ((bs == bs))
459+ then {
460+ let cx = valueOrElse(getInteger(az(be)), 0)
461+ let cy = (bH - bJ)
462+ let cz = (bI - bJ)
463+ let cv = if ((cx >= bJ))
464+ then [ScriptTransfer(cb.caller, bJ, cs), IntegerEntry(az(be), (cx - bJ))]
465+ else {
466+ let cA = ((cx + bu) - bJ)
467+[ScriptTransfer(cb.caller, bJ, cs), aN(ae(be), bf, cj, bj), aN(ag(), aG(), cj, bj), IntegerEntry(az(be), cA)]
468+ }
469+ $Tuple2(([IntegerEntry(an(), bE), IntegerEntry(ao(bE), bF), IntegerEntry(aq(bE), bG), IntegerEntry(av(K, bE), cy), IntegerEntry(aw(K, bE, be), cz), aX(be, bJ, cu, cb.transactionId)] ++ cv), unit)
454470 }
455- $Tuple2(([IntegerEntry(al(), bC), IntegerEntry(am(bC), bD), IntegerEntry(ao(bC), bE), IntegerEntry(at(I, bC), cw), IntegerEntry(au(I, bC, bc), cx), aV(bc, cr, cs, bZ.transactionId)] ++ ct), unit)
471+ else throw("Strict value is not equal to itself.")
456472 }
457- else $Tuple2([ScriptTransfer(bZ.caller, bs, cq), aL(ac(bc), bd, ch, bh), aL(ae(), aE(), ch, bh), aV(bc, cr, cs, bZ.transactionId)], unit)
458- ct
473+ else $Tuple2([ScriptTransfer(cb.caller, bu, cs), aN(ae(be), bf, cj, bj), aN(ag(), aG(), cj, bj), aX(be, ct, cu, cb.transactionId)], unit)
474+ cv
459475 }
460476 }
461477
462478
463479
464-@Callable(bZ)
465-func claimREADONLY (aX,bc) = {
466- let cp = aW(aX, addressFromStringValue(bc), fromBase58String(""))
467- let ch = cp._1
468- let bs = cp._2
469- let cq = cp._3
470- let bd = cp._4
471- let bh = cp._5
472- let cz = cp._6
473- let cA = cz[0]
474- let cB = cz[1]
475- $Tuple2(nil, makeString(["%s%d%d", bc, toString(cA), toString(cB)], c))
480+@Callable(cb)
481+func claimREADONLY (aZ,be) = {
482+ let cr = aY(aZ, addressFromStringValue(be), fromBase58String(""))
483+ let cj = cr._1
484+ let bu = cr._2
485+ let cs = cr._3
486+ let bf = cr._4
487+ let bj = cr._5
488+ let cB = cr._6
489+ let cC = cB[0]
490+ let cD = cB[1]
491+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cC), toString(cD)], c))
476492 }
477493
478494
479495
480-@Callable(bZ)
481-func claimV2READONLY (aX,bc) = {
482- let cp = aW(aX, addressFromStringValue(bc), fromBase58String(""))
483- let ch = cp._1
484- let bs = cp._2
485- let cq = cp._3
486- let bd = cp._4
487- let bh = cp._5
488- let cz = cp._6
489- let cA = cz[0]
490- let cB = cz[1]
491- let aY = aB()
492- let I = aY[x]
493- let cC = br(I, bc, bs, ch[aJ])
494- let bH = cC._1
495- let bF = cC._2
496- let bG = cC._3
497- let bt = cC._4
498- let bI = cC._5
499- let bT = cC._6
500- let bU = cC._7
501- let bC = cC._8
502- let bD = cC._9
503- let bE = cC._10
504- let cD = makeString(["%d%d%d%d%d%d", toString(cB), toString(bH), toString(bF), toString(bI), toString(bT), toString(bU)], c)
505- $Tuple2(nil, cD)
496+@Callable(cb)
497+func claimV2READONLY (aZ,be) = {
498+ let cr = aY(aZ, addressFromStringValue(be), fromBase58String(""))
499+ let cj = cr._1
500+ let bu = cr._2
501+ let cs = cr._3
502+ let bf = cr._4
503+ let bj = cr._5
504+ let cB = cr._6
505+ let cC = cB[0]
506+ let cD = cB[1]
507+ let ba = aD()
508+ let K = ba[z]
509+ let cE = bt(K, be, bu, cj[aL])
510+ let bJ = cE._1
511+ let bH = cE._2
512+ let bI = cE._3
513+ let bv = cE._4
514+ let bK = cE._5
515+ let bV = cE._6
516+ let bW = cE._7
517+ let bE = cE._8
518+ let bF = cE._9
519+ let bG = cE._10
520+ let cF = makeString(["%d%d%d%d%d%d", toString(cD), toString(bJ), toString(bH), toString(bK), toString(bV), toString(bW)], c)
521+ $Tuple2(nil, cF)
506522 }
507523
508524
509525
510-@Callable(bZ)
511-func setManager (cE) = {
512- let cF = bY(bZ)
513- if ((cF == cF))
526+@Callable(cb)
527+func setManager (cG) = {
528+ let cH = ca(cb)
529+ if ((cH == cH))
514530 then {
515- let cG = fromBase58String(cE)
516- if ((cG == cG))
517- then [StringEntry(aA(), cE)]
531+ let cI = fromBase58String(cG)
532+ if ((cI == cI))
533+ then [StringEntry(aC(), cG)]
518534 else throw("Strict value is not equal to itself.")
519535 }
520536 else throw("Strict value is not equal to itself.")
522538
523539
524540
525-@Callable(bZ)
541+@Callable(cb)
526542 func confirmManager () = {
527- let cH = bX()
528- let cI = if (isDefined(cH))
543+ let cJ = bZ()
544+ let cK = if (isDefined(cJ))
529545 then true
530546 else throw("No pending manager")
531- if ((cI == cI))
547+ if ((cK == cK))
532548 then {
533- let cJ = if ((bZ.callerPublicKey == value(cH)))
549+ let cL = if ((cb.callerPublicKey == value(cJ)))
534550 then true
535551 else throw("You are not pending manager")
536- if ((cJ == cJ))
537- then [StringEntry(az(), toBase58String(value(cH))), DeleteEntry(aA())]
552+ if ((cL == cL))
553+ then [StringEntry(aB(), toBase58String(value(cJ))), DeleteEntry(aC())]
538554 else throw("Strict value is not equal to itself.")
539555 }
540556 else throw("Strict value is not equal to itself.")
541557 }
542558
543559
544-@Verifier(cK)
545-func cL () = {
546- let cM = {
547- let bo = bV()
548- if ($isInstanceOf(bo, "ByteVector"))
560+@Verifier(cM)
561+func cN () = {
562+ let cO = {
563+ let bq = bX()
564+ if ($isInstanceOf(bq, "ByteVector"))
549565 then {
550- let cb = bo
551- cb
566+ let cd = bq
567+ cd
552568 }
553- else if ($isInstanceOf(bo, "Unit"))
554- then cK.senderPublicKey
569+ else if ($isInstanceOf(bq, "Unit"))
570+ then cM.senderPublicKey
555571 else throw("Match error")
556572 }
557- sigVerify(cK.bodyBytes, cK.proofs[0], cM)
573+ sigVerify(cM.bodyBytes, cM.proofs[0], cO)
558574 }
559575
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
1111 let e = 100000000
1212
13-func f (g,h,i,j,k) = {
14- let l = toBigInt(h)
15- let m = toBigInt(k)
16- let n = fraction(toBigInt(g), d, l)
17- let o = fraction(n, toBigInt(j), toBigInt(i))
18- toInt(fraction(o, toBigInt(k), d))
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))
1922 }
2023
2124
22-let p = 1
25+let r = 1
2326
24-let q = 2
27+let s = 2
2528
26-let r = 3
29+let t = 3
2730
28-let s = 4
31+let u = 4
2932
30-let t = 5
33+let v = 5
3134
32-let u = 6
35+let w = 6
3336
34-let v = 7
37+let x = 7
3538
36-let w = 8
39+let y = 8
3740
38-let x = 9
41+let z = 9
3942
40-let y = 10
43+let A = 10
4144
42-let z = 11
45+let B = 11
4346
44-func A (B,C,D,E,i,F,G,H,I,J,K,L) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", B, C, D, E, i, F, G, H, I, J, K, L], 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)
4548
4649
47-func M (B,C,D,E,i,F,G,H,I,J,K,L) = A(toString(B), toString(C), toString(D), toString(E), toString(i), toString(F), G, toString(H), I, toString(J), toString(K), toString(L))
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))
4851
4952
50-let N = 1
53+let P = 1
5154
52-let O = 2
55+let Q = 2
5356
54-let P = 3
57+let R = 3
5558
56-let Q = 4
59+let S = 4
5760
58-let R = 5
61+let T = 5
5962
60-func S (T,U,V,W,X) = makeString(["%d%d%d%d%d", T, U, V, W, X], c)
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
6164
6265
63-func Y (T,U,V,W,X) = S(toString(T), toString(U), toString(V), toString(W), toString(X))
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
6467
6568
66-func Z (g,aa) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(g), toString(aa)], c)
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
6770
6871
69-func ab () = "%s__config"
72+func ad () = "%s__config"
7073
7174
72-func ac (ad) = ("%s__" + ad)
75+func ae (af) = ("%s__" + af)
7376
7477
75-func ae () = "%s__totals"
78+func ag () = "%s__totals"
7679
7780
78-func af (ag,ad,ah) = makeString(["%s%s%s%s__history", ag, ad, ah], c)
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
7982
8083
81-func ai () = "%s__usdnClaimDisabled"
84+func ak () = "%s__usdnClaimDisabled"
8285
8386
84-func aj () = "%s__usdnClaimEndHeight"
87+func al () = "%s__usdnClaimEndHeight"
8588
8689
87-func ak () = makeString(["%s", "periodLength"], c)
90+func am () = makeString(["%s", "periodLength"], c)
8891
8992
90-func al () = makeString(["%s", "currentPeriod"], c)
93+func an () = makeString(["%s", "currentPeriod"], c)
9194
9295
93-func am (an) = makeString(["%s%s", "periodStartHeight", toString(an)], c)
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
9497
9598
96-func ao (an) = makeString(["%s%s", "periodEndHeight", toString(an)], c)
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
97100
98101
99-func ap () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
100103
101104
102-func aq (ar) = makeString(["%s%s", "totalPeriodAllowance", ar], c)
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
103106
104107
105-func as (ar) = makeString(["%s%s", "userPeriodAllowance", ar], c)
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
106109
107110
108-func at (ar,an) = makeString(["%s%s%s", "periodTotalAvailableToClaim", ar, toString(an)], c)
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
109112
110113
111-func au (ar,an,ad) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", ar, toString(an), ad], c)
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
112115
113116
114-func av () = makeString(["%s", "usdtPriceAssetStablePool"], c)
117+func ax () = makeString(["%s", "usdtPriceAssetStablePool"], c)
115118
116119
117-func aw () = makeString(["%s", "usdtAssetId"], c)
120+func ay () = makeString(["%s", "usdtAssetId"], c)
118121
119122
120-func ax (ay) = makeString(["%s%s", "priceAssetBalance", ay], c)
123+func az (aA) = makeString(["%s%s", "priceAssetBalance", aA], c)
121124
122125
123-func az () = "%s__managerPublicKey"
126+func aB () = "%s__managerPublicKey"
124127
125128
126-func aA () = "%s__pendingManagerPublicKey"
129+func aC () = "%s__pendingManagerPublicKey"
127130
128131
129-func aB () = split(a(ab()), c)
132+func aD () = split(a(ad()), c)
130133
131134
132-func aC (aD) = split(valueOrElse(getString(aD), S("0", "0", "0", "0", "0")), c)
135+func aE (aF) = split(valueOrElse(getString(aF), U("0", "0", "0", "0", "0")), c)
133136
134137
135-func aE () = aC(ae())
138+func aG () = aE(ag())
136139
137140
138-func aF (ad) = aC(ac(ad))
141+func aH (af) = aE(ae(af))
139142
140143
141-func aG (ad) = split(a(ac(ad)), c)
144+func aI (af) = split(a(ae(af)), c)
142145
143146
144-let aH = 0
147+let aJ = 0
145148
146-let aI = 1
149+let aK = 1
147150
148-let aJ = 2
151+let aL = 2
149152
150-let aK = 3
153+let aM = 3
151154
152-func aL (b,aM,aN,aO) = {
153- let T = parseIntValue(aM[N])
154- let U = parseIntValue(aM[O])
155- let V = parseIntValue(aM[P])
156- let W = parseIntValue(aM[Q])
157- let X = parseIntValue(aM[R])
158- let aP = (T + aN[aH])
159- let aQ = (U + aN[aI])
160- let aR = (V + aN[aJ])
161- let aS = (W + aN[aK])
162- if ((0 > aQ))
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))
163166 then throw("invalid math")
164- else StringEntry(b, Y(aP, aQ, aR, aS, aO))
167+ else StringEntry(b, aa(aR, aS, aT, aU, aQ))
165168 }
166169
167170
168-func aT (ad,g,aa,aU) = StringEntry(af("invest", ad, toBase58String(aU)), Z(g, aa))
171+func aV (af,i,ac,aW) = StringEntry(ah("invest", af, toBase58String(aW)), ab(i, ac))
169172
170173
171-func aV (ad,g,aa,aU) = StringEntry(af("claim", ad, toBase58String(aU)), Z(g, aa))
174+func aX (af,i,ac,aW) = StringEntry(ah("claim", af, toBase58String(aW)), ab(i, ac))
172175
173176
174-func aW (aX,ad,aU) = {
175- let aY = aB()
176- let D = parseIntValue(aY[r])
177- let E = parseIntValue(aY[s])
178- let aZ = (D + E)
179- let i = parseIntValue(aY[t])
180- let F = parseIntValue(aY[u])
181- let G = aY[v]
182- let ba = fromBase58String(G)
183- let H = parseIntValue(aY[w])
184- let I = aY[x]
185- let bb = fromBase58String(I)
186- let J = parseIntValue(aY[y])
187- let bc = toString(ad)
188- let bd = aG(bc)
189- let be = parseIntValue(bd[N])
190- let bf = parseIntValue(bd[R])
191- let bg = if ((D >= bf))
192- then D
193- else bf
194- let bh = if ((height > aZ))
195- then aZ
196- else if ((D > height))
197- then D
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
198201 else height
199- let bi = (bh - bg)
200- let bj = fraction(be, bi, E)
201- let bk = f(bj, J, i, F, H)
202- let bl = (aX == I)
203- let bm = valueOrElse(getBoolean(ai()), false)
204- let bn = {
205- let bo = getInteger(aj())
206- if ($isInstanceOf(bo, "Int"))
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 = {
208+ let bq = getInteger(al())
209+ if ($isInstanceOf(bq, "Int"))
207210 then {
208- let bp = bo
209- (height > bp)
211+ let br = bq
212+ (height > br)
210213 }
211- else if ($isInstanceOf(bo, "Unit"))
214+ else if ($isInstanceOf(bq, "Unit"))
212215 then false
213216 else throw("Match error")
214217 }
215- let bq = [if (!(if (bl)
216- then bm
218+ let bs = [if (!(if (bn)
219+ then bo
217220 else false))
218221 then true
219- else throw("USDN claim is disabled"), if (!(if (bl)
220- then bn
222+ else throw("USDN claim is disabled"), if (!(if (bn)
223+ then bp
221224 else false))
222225 then true
223226 else throw("USDN claim is ended")]
224- if ((bq == bq))
225- then if ((aX == I))
226- then $Tuple6([0, -(bj), bj, 0], bj, bb, bd, bh, [bj, bk])
227- else if ((aX == G))
228- then $Tuple6([0, -(bj), 0, bk], bk, ba, bd, bh, [bj, bk])
229- else throw(("unsupported assetId: " + aX))
227+ if ((bs == bs))
228+ then if ((aZ == K))
229+ then $Tuple6([0, -(bl), bl, 0], bl, bd, bf, bj, [bl, bm])
230+ else if ((aZ == I))
231+ then $Tuple6([0, -(bl), 0, bm], bm, bc, bf, bj, [bl, bm])
232+ else throw(("unsupported assetId: " + aZ))
230233 else throw("Strict value is not equal to itself.")
231234 }
232235
233236
234-func br (I,bc,bs,bt) = {
235- let bu = value(getInteger(aq(I)))
236- let bv = value(getInteger(as(I)))
237- let bw = value(getInteger(ak()))
238- let bx = valueOrElse(getInteger(al()), 0)
239- let by = if ((bx > 0))
237+func bt (K,be,bu,bv) = {
238+ let bw = value(getInteger(as(K)))
239+ let bx = value(getInteger(au(K)))
240+ let by = value(getInteger(am()))
241+ let bz = valueOrElse(getInteger(an()), 0)
242+ let bA = if ((bz > 0))
240243 then {
241- let bz = value(getInteger(am((bx - 1))))
242- let bA = value(getInteger(ao((bx - 1))))
243- let bB = if ((height > bA))
244+ let bB = value(getInteger(ao((bz - 1))))
245+ let bC = value(getInteger(aq((bz - 1))))
246+ let bD = if ((height > bC))
244247 then {
245- let bC = (bx + 1)
246- let bD = (bA + 1)
247- let bE = ((bD + bw) - 1)
248- $Tuple3(bC, bD, bE)
248+ let bE = (bz + 1)
249+ let bF = (bC + 1)
250+ let bG = ((bF + by) - 1)
251+ $Tuple3(bE, bF, bG)
249252 }
250- else $Tuple3(bx, bz, bA)
251- let bC = bB._1
252- let bD = bB._2
253- let bE = bB._3
254- $Tuple3(bC, bD, bE)
253+ else $Tuple3(bz, bB, bC)
254+ let bE = bD._1
255+ let bF = bD._2
256+ let bG = bD._3
257+ $Tuple3(bE, bF, bG)
255258 }
256- else $Tuple3(bx, valueOrElse(getInteger(am(bx)), height), valueOrElse(getInteger(ao(bx)), ((height + bw) - 1)))
257- let bC = by._1
258- let bD = by._2
259- let bE = by._3
260- let bF = valueOrElse(getInteger(at(I, bC)), bu)
261- let bG = valueOrElse(getInteger(au(I, bC, bc)), bv)
262- let bH = min([bs, bF, bG])
263- let bI = value(getInteger(ap()))
264- let bJ = e
265- let bK = {
266- let bL = invoke(addressFromStringValue(value(getString(av()))), "putOneTknV2WithoutTakeFeeREADONLY", [bJ, I], nil)
267- if ($isInstanceOf(bL, "(Int, Int, Int)"))
268- then bL
259+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
260+ let bE = bA._1
261+ let bF = bA._2
262+ let bG = bA._3
263+ let bH = valueOrElse(getInteger(av(K, bE)), bw)
264+ let bI = valueOrElse(getInteger(aw(K, bE, be)), bx)
265+ let bJ = min([bu, bH, bI])
266+ let bK = value(getInteger(ar()))
267+ let bL = e
268+ let bM = {
269+ let bN = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bL, K], nil)
270+ if ($isInstanceOf(bN, "(Int, Int, Int)"))
271+ then bN
269272 else throw("Couldn't cast Any to (Int, Int, Int)")
270273 }
271- if ((bK == bK))
274+ if ((bM == bM))
272275 then {
273- let bM = bK._3
274- let bN = bK._2
275- let bO = bK._1
276- let bP = value(getString(aw()))
277- let bQ = {
278- let bL = invoke(addressFromStringValue(value(getString(av()))), "getOneTknV2READONLY", [bP, bO], nil)
279- if ($isInstanceOf(bL, "(Int, Int)"))
280- then bL
276+ let bO = bM._3
277+ let bP = bM._2
278+ let bQ = bM._1
279+ let bR = value(getString(ay()))
280+ let bS = {
281+ let bN = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bR, bQ], nil)
282+ if ($isInstanceOf(bN, "(Int, Int)"))
283+ then bN
281284 else throw("Couldn't cast Any to (Int, Int)")
282285 }
283- if ((bQ == bQ))
286+ if ((bS == bS))
284287 then {
285- let bR = bQ._2
286- let bS = bQ._1
287- let bT = fraction(bS, bJ, e)
288- let bU = (bE - height)
289- $Tuple10(bH, bF, bG, bt, bI, bT, bU, bC, bD, bE)
288+ let bT = bS._2
289+ let bU = bS._1
290+ let bV = fraction(bU, bL, e)
291+ let bW = (bG - height)
292+ $Tuple10(bJ, bH, bI, bv, bK, bV, bW, bE, bF, bG)
290293 }
291294 else throw("Strict value is not equal to itself.")
292295 }
293296 else throw("Strict value is not equal to itself.")
294297 }
295298
296299
297-func bV () = {
298- let bo = getString(az())
299- if ($isInstanceOf(bo, "String"))
300+func bX () = {
301+ let bq = getString(aB())
302+ if ($isInstanceOf(bq, "String"))
300303 then {
301- let bW = bo
302- fromBase58String(bW)
304+ let bY = bq
305+ fromBase58String(bY)
303306 }
304- else if ($isInstanceOf(bo, "Unit"))
307+ else if ($isInstanceOf(bq, "Unit"))
305308 then unit
306309 else throw("Match error")
307310 }
308311
309312
310-func bX () = {
311- let bo = getString(aA())
312- if ($isInstanceOf(bo, "String"))
313+func bZ () = {
314+ let bq = getString(aC())
315+ if ($isInstanceOf(bq, "String"))
313316 then {
314- let bW = bo
315- fromBase58String(bW)
317+ let bY = bq
318+ fromBase58String(bY)
316319 }
317- else if ($isInstanceOf(bo, "Unit"))
320+ else if ($isInstanceOf(bq, "Unit"))
318321 then unit
319322 else throw("Match error")
320323 }
321324
322325
323-func bY (bZ) = {
324- let ca = throw("Permission denied")
325- let bo = bV()
326- if ($isInstanceOf(bo, "ByteVector"))
326+func ca (cb) = {
327+ let cc = throw("Permission denied")
328+ let bq = bX()
329+ if ($isInstanceOf(bq, "ByteVector"))
327330 then {
328- let cb = bo
329- if ((bZ.callerPublicKey == cb))
331+ let cd = bq
332+ if ((cb.callerPublicKey == cd))
330333 then true
331- else ca
334+ else cc
332335 }
333- else if ($isInstanceOf(bo, "Unit"))
334- then if ((bZ.caller == this))
336+ else if ($isInstanceOf(bq, "Unit"))
337+ then if ((cb.caller == this))
335338 then true
336- else ca
339+ else cc
337340 else throw("Match error")
338341 }
339342
340343
341-@Callable(bZ)
342-func constructor (B,C,D,E,i,I,K) = {
343- let F = ((100 * 1000) * 1000)
344- let cc = (B + C)
345- if (isDefined(getString(ab())))
344+@Callable(cb)
345+func constructor (D,E,F,G,k,K,M) = {
346+ let H = ((100 * 1000) * 1000)
347+ let ce = (D + E)
348+ if (isDefined(getString(ad())))
346349 then throw("already initialized")
347- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bZ.caller)))
350+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cb.caller)))
348351 then throw("not authorized")
349- else if ((size(bZ.payments) != 1))
352+ else if ((size(cb.payments) != 1))
350353 then throw("exactly 1 payment must be attached")
351- else if ((cc >= D))
354+ else if ((ce >= F))
352355 then throw("claimStart must be greater than idoEnd")
353356 else {
354- let cd = value(bZ.payments[0])
355- let ba = value(cd.assetId)
356- let ce = valueOrErrorMessage(assetInfo(ba), "fail to load ido asset info")
357- let G = toBase58String(ba)
358- let H = pow(10, 0, ce.decimals, 0, 0, DOWN)
359- let bb = fromBase58String(I)
360- let cf = valueOrErrorMessage(assetInfo(bb), "fail to load price asset info")
361- let J = pow(10, 0, cf.decimals, 0, 0, DOWN)
362- let cg = aE()
363- let ch = [0, 0, 0, 0]
364-[StringEntry(ab(), M(B, C, D, E, i, F, G, H, I, J, K, cd.amount)), aL(ae(), cg, ch, D)]
357+ let cf = value(cb.payments[0])
358+ let bc = value(cf.assetId)
359+ let cg = valueOrErrorMessage(assetInfo(bc), "fail to load ido asset info")
360+ let I = toBase58String(bc)
361+ let J = pow(10, 0, cg.decimals, 0, 0, DOWN)
362+ let bd = fromBase58String(K)
363+ let ch = valueOrErrorMessage(assetInfo(bd), "fail to load price asset info")
364+ let L = pow(10, 0, ch.decimals, 0, 0, DOWN)
365+ let ci = aG()
366+ let cj = [0, 0, 0, 0]
367+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cf.amount)), aN(ag(), ci, cj, F)]
365368 }
366369 }
367370
368371
369372
370-@Callable(bZ)
373+@Callable(cb)
371374 func invest () = {
372- let aY = aB()
373- let B = parseIntValue(aY[p])
374- let C = parseIntValue(aY[q])
375- let cc = (B + C)
376- let D = parseIntValue(aY[r])
377- let E = parseIntValue(aY[s])
378- let i = parseIntValue(aY[t])
379- let F = parseIntValue(aY[u])
380- let G = aY[v]
381- let ba = fromBase58String(G)
382- let H = parseIntValue(aY[w])
383- let I = aY[x]
384- let bb = fromBase58String(I)
385- let J = parseIntValue(aY[y])
386- let ci = parseIntValue(aY[z])
387- let ad = toString(bZ.caller)
388- if ((B > height))
375+ let ba = aD()
376+ let D = parseIntValue(ba[r])
377+ let E = parseIntValue(ba[s])
378+ let ce = (D + E)
379+ let F = parseIntValue(ba[t])
380+ let G = parseIntValue(ba[u])
381+ let k = parseIntValue(ba[v])
382+ let H = parseIntValue(ba[w])
383+ let I = ba[x]
384+ let bc = fromBase58String(I)
385+ let J = parseIntValue(ba[y])
386+ let K = ba[z]
387+ let bd = fromBase58String(K)
388+ let L = parseIntValue(ba[A])
389+ let ck = parseIntValue(ba[B])
390+ let af = toString(cb.caller)
391+ if ((D > height))
389392 then throw("ido has not been started yet")
390- else if ((height > cc))
393+ else if ((height > ce))
391394 then throw("ido has been already ended")
392- else if ((size(bZ.payments) != 1))
395+ else if ((size(cb.payments) != 1))
393396 then throw("exactly 1 payment is expected")
394397 else {
395- let cd = value(bZ.payments[0])
396- let cj = value(cd.assetId)
397- let ck = cd.amount
398- if ((cj != bb))
399- then throw((("invalid payment asset id: " + toBase58String(cj)) + " is expected"))
398+ let cf = value(cb.payments[0])
399+ let cl = value(cf.assetId)
400+ let cm = cf.amount
401+ if ((cl != bd))
402+ then throw((("invalid payment asset id: " + toBase58String(cl)) + " is expected"))
400403 else {
401- let cl = aF(ad)
402- let cg = aE()
403- let cm = (parseIntValue(cg[N]) + ck)
404- let cn = (cm * 100)
405- if ((cn > assetBalance(this, ba)))
404+ let cn = aH(af)
405+ let ci = aG()
406+ let co = (parseIntValue(ci[P]) + cm)
407+ let cp = (co * 100)
408+ if ((cp > assetBalance(this, bc)))
406409 then throw("IDO asset has been - sold consider to use smaller payment")
407410 else {
408- let ch = [ck, ck, 0, 0]
409-[aL(ac(ad), cl, ch, D), aL(ae(), cg, ch, D), aT(ad, ck, 0, bZ.transactionId)]
411+ let cj = [cm, cm, 0, 0]
412+[aN(ae(af), cn, cj, F), aN(ag(), ci, cj, F), aV(af, cm, 0, cb.transactionId)]
410413 }
411414 }
412415 }
413416 }
414417
415418
416419
417-@Callable(bZ)
418-func claim (aX,bc) = {
419- let co = toString(bZ.caller)
420- if ((bc != co))
420+@Callable(cb)
421+func claim (aZ,be) = {
422+ let cq = toString(cb.caller)
423+ if ((be != cq))
421424 then throw("not authorized")
422425 else {
423- let aY = aB()
424- let I = aY[x]
425- let cp = aW(aX, bZ.caller, bZ.transactionId)
426- let ch = cp._1
427- let bs = cp._2
428- let cq = cp._3
429- let bd = cp._4
430- let bh = cp._5
431- let cr = ch[aJ]
432- let cs = ch[aK]
433- let ct = if ((aX == I))
426+ let ba = aD()
427+ let K = ba[z]
428+ let cr = aY(aZ, cb.caller, cb.transactionId)
429+ let cj = cr._1
430+ let bu = cr._2
431+ let cs = cr._3
432+ let bf = cr._4
433+ let bj = cr._5
434+ let ct = cj[aL]
435+ let cu = cj[aM]
436+ let cv = if ((aZ == K))
434437 then {
435- let cu = br(I, bc, bs, ch[aJ])
436- let bH = cu._1
437- let bF = cu._2
438- let bG = cu._3
439- let bt = cu._4
440- let bI = cu._5
441- let bT = cu._6
442- let bU = cu._7
443- let bC = cu._8
444- let bD = cu._9
445- let bE = cu._10
446- let cv = valueOrElse(getInteger(ax(bc)), 0)
447- let cw = (bF - bH)
448- let cx = (bG - bH)
449- let ct = if ((cv >= bH))
450- then [ScriptTransfer(bZ.caller, bH, cq), IntegerEntry(ax(bc), (cv - bH))]
451- else {
452- let cy = ((cv + bs) - bH)
453-[ScriptTransfer(bZ.caller, bH, cq), aL(ac(bc), bd, ch, bh), aL(ae(), aE(), ch, bh), IntegerEntry(ax(bc), cy)]
438+ let cw = bt(K, be, bu, cj[aL])
439+ let bJ = cw._1
440+ let bH = cw._2
441+ let bI = cw._3
442+ let bv = cw._4
443+ let bK = cw._5
444+ let bV = cw._6
445+ let bW = cw._7
446+ let bE = cw._8
447+ let bF = cw._9
448+ let bG = cw._10
449+ let bs = [if ((bJ > 0))
450+ then true
451+ else f("nothing to claim"), if ((bI > 0))
452+ then true
453+ else f("unavailable to claim because user period allowance reached"), if ((bH > 0))
454+ then true
455+ else f("unavailable to claim because total period allowance reached"), if ((bK > bV))
456+ then true
457+ else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
458+ if ((bs == bs))
459+ then {
460+ let cx = valueOrElse(getInteger(az(be)), 0)
461+ let cy = (bH - bJ)
462+ let cz = (bI - bJ)
463+ let cv = if ((cx >= bJ))
464+ then [ScriptTransfer(cb.caller, bJ, cs), IntegerEntry(az(be), (cx - bJ))]
465+ else {
466+ let cA = ((cx + bu) - bJ)
467+[ScriptTransfer(cb.caller, bJ, cs), aN(ae(be), bf, cj, bj), aN(ag(), aG(), cj, bj), IntegerEntry(az(be), cA)]
468+ }
469+ $Tuple2(([IntegerEntry(an(), bE), IntegerEntry(ao(bE), bF), IntegerEntry(aq(bE), bG), IntegerEntry(av(K, bE), cy), IntegerEntry(aw(K, bE, be), cz), aX(be, bJ, cu, cb.transactionId)] ++ cv), unit)
454470 }
455- $Tuple2(([IntegerEntry(al(), bC), IntegerEntry(am(bC), bD), IntegerEntry(ao(bC), bE), IntegerEntry(at(I, bC), cw), IntegerEntry(au(I, bC, bc), cx), aV(bc, cr, cs, bZ.transactionId)] ++ ct), unit)
471+ else throw("Strict value is not equal to itself.")
456472 }
457- else $Tuple2([ScriptTransfer(bZ.caller, bs, cq), aL(ac(bc), bd, ch, bh), aL(ae(), aE(), ch, bh), aV(bc, cr, cs, bZ.transactionId)], unit)
458- ct
473+ else $Tuple2([ScriptTransfer(cb.caller, bu, cs), aN(ae(be), bf, cj, bj), aN(ag(), aG(), cj, bj), aX(be, ct, cu, cb.transactionId)], unit)
474+ cv
459475 }
460476 }
461477
462478
463479
464-@Callable(bZ)
465-func claimREADONLY (aX,bc) = {
466- let cp = aW(aX, addressFromStringValue(bc), fromBase58String(""))
467- let ch = cp._1
468- let bs = cp._2
469- let cq = cp._3
470- let bd = cp._4
471- let bh = cp._5
472- let cz = cp._6
473- let cA = cz[0]
474- let cB = cz[1]
475- $Tuple2(nil, makeString(["%s%d%d", bc, toString(cA), toString(cB)], c))
480+@Callable(cb)
481+func claimREADONLY (aZ,be) = {
482+ let cr = aY(aZ, addressFromStringValue(be), fromBase58String(""))
483+ let cj = cr._1
484+ let bu = cr._2
485+ let cs = cr._3
486+ let bf = cr._4
487+ let bj = cr._5
488+ let cB = cr._6
489+ let cC = cB[0]
490+ let cD = cB[1]
491+ $Tuple2(nil, makeString(["%s%d%d", be, toString(cC), toString(cD)], c))
476492 }
477493
478494
479495
480-@Callable(bZ)
481-func claimV2READONLY (aX,bc) = {
482- let cp = aW(aX, addressFromStringValue(bc), fromBase58String(""))
483- let ch = cp._1
484- let bs = cp._2
485- let cq = cp._3
486- let bd = cp._4
487- let bh = cp._5
488- let cz = cp._6
489- let cA = cz[0]
490- let cB = cz[1]
491- let aY = aB()
492- let I = aY[x]
493- let cC = br(I, bc, bs, ch[aJ])
494- let bH = cC._1
495- let bF = cC._2
496- let bG = cC._3
497- let bt = cC._4
498- let bI = cC._5
499- let bT = cC._6
500- let bU = cC._7
501- let bC = cC._8
502- let bD = cC._9
503- let bE = cC._10
504- let cD = makeString(["%d%d%d%d%d%d", toString(cB), toString(bH), toString(bF), toString(bI), toString(bT), toString(bU)], c)
505- $Tuple2(nil, cD)
496+@Callable(cb)
497+func claimV2READONLY (aZ,be) = {
498+ let cr = aY(aZ, addressFromStringValue(be), fromBase58String(""))
499+ let cj = cr._1
500+ let bu = cr._2
501+ let cs = cr._3
502+ let bf = cr._4
503+ let bj = cr._5
504+ let cB = cr._6
505+ let cC = cB[0]
506+ let cD = cB[1]
507+ let ba = aD()
508+ let K = ba[z]
509+ let cE = bt(K, be, bu, cj[aL])
510+ let bJ = cE._1
511+ let bH = cE._2
512+ let bI = cE._3
513+ let bv = cE._4
514+ let bK = cE._5
515+ let bV = cE._6
516+ let bW = cE._7
517+ let bE = cE._8
518+ let bF = cE._9
519+ let bG = cE._10
520+ let cF = makeString(["%d%d%d%d%d%d", toString(cD), toString(bJ), toString(bH), toString(bK), toString(bV), toString(bW)], c)
521+ $Tuple2(nil, cF)
506522 }
507523
508524
509525
510-@Callable(bZ)
511-func setManager (cE) = {
512- let cF = bY(bZ)
513- if ((cF == cF))
526+@Callable(cb)
527+func setManager (cG) = {
528+ let cH = ca(cb)
529+ if ((cH == cH))
514530 then {
515- let cG = fromBase58String(cE)
516- if ((cG == cG))
517- then [StringEntry(aA(), cE)]
531+ let cI = fromBase58String(cG)
532+ if ((cI == cI))
533+ then [StringEntry(aC(), cG)]
518534 else throw("Strict value is not equal to itself.")
519535 }
520536 else throw("Strict value is not equal to itself.")
521537 }
522538
523539
524540
525-@Callable(bZ)
541+@Callable(cb)
526542 func confirmManager () = {
527- let cH = bX()
528- let cI = if (isDefined(cH))
543+ let cJ = bZ()
544+ let cK = if (isDefined(cJ))
529545 then true
530546 else throw("No pending manager")
531- if ((cI == cI))
547+ if ((cK == cK))
532548 then {
533- let cJ = if ((bZ.callerPublicKey == value(cH)))
549+ let cL = if ((cb.callerPublicKey == value(cJ)))
534550 then true
535551 else throw("You are not pending manager")
536- if ((cJ == cJ))
537- then [StringEntry(az(), toBase58String(value(cH))), DeleteEntry(aA())]
552+ if ((cL == cL))
553+ then [StringEntry(aB(), toBase58String(value(cJ))), DeleteEntry(aC())]
538554 else throw("Strict value is not equal to itself.")
539555 }
540556 else throw("Strict value is not equal to itself.")
541557 }
542558
543559
544-@Verifier(cK)
545-func cL () = {
546- let cM = {
547- let bo = bV()
548- if ($isInstanceOf(bo, "ByteVector"))
560+@Verifier(cM)
561+func cN () = {
562+ let cO = {
563+ let bq = bX()
564+ if ($isInstanceOf(bq, "ByteVector"))
549565 then {
550- let cb = bo
551- cb
566+ let cd = bq
567+ cd
552568 }
553- else if ($isInstanceOf(bo, "Unit"))
554- then cK.senderPublicKey
569+ else if ($isInstanceOf(bq, "Unit"))
570+ then cM.senderPublicKey
555571 else throw("Match error")
556572 }
557- sigVerify(cK.bodyBytes, cK.proofs[0], cM)
573+ sigVerify(cM.bodyBytes, cM.proofs[0], cO)
558574 }
559575

github/deemru/w8io/026f985 
199.91 ms