tx · 9Nqkn9ZExoXmkirPixdcQu6XRKRtFKVJj1Jt2rzsirsp

3MqzKJcjfKxqGWSA84WR4kQwZksM5vjxiFp:  -0.02700000 Waves

2022.12.05 09:29 [2346704] smart account 3MqzKJcjfKxqGWSA84WR4kQwZksM5vjxiFp > SELF 0.00000000 Waves

{ "type": 13, "id": "9Nqkn9ZExoXmkirPixdcQu6XRKRtFKVJj1Jt2rzsirsp", "fee": 2700000, "feeAssetId": null, "timestamp": 1670221781031, "version": 1, "sender": "3MqzKJcjfKxqGWSA84WR4kQwZksM5vjxiFp", "senderPublicKey": "bS6Cchmk25EdDcapkz8W5WkZgthTHHW6sSBbcidSrCb", "proofs": [ "2oDcfyHrkUc6Nnpkyr7F1TU99NhCCVZjgKiPByzg33vQEckKiNdc8PkBMEZEUZoUh38EXMTcEx9dBgpfnbHB3HBL" ], "script": "base64:AAIFAAAAAAAAD0QIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIGc2NhbGU4Igh0aHJvd0VyciIDbXNnIh1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldCIQcHJpY2VBc3NldEFtb3VudCIOcHJpY2VBc3NldE1VTFQiBXByaWNlIglwcmljZU1VTFQiDGlkb0Fzc2V0TVVMVCIPYlByaWNlQXNzZXRNVUxUIg1iSWRvQXNzZXRNVUxUIg5iUHJpY2VBc3NldEJVRiIPYkFtb3VudEFzc2V0QlVGIg5JZHhDZmdJZG9TdGFydCIRSWR4Q2ZnSWRvRHVyYXRpb24iEElkeENmZ0NsYWltU3RhcnQiE0lkeENmZ0NsYWltRHVyYXRpb24iC0lkeENmZ1ByaWNlIg9JZHhDZmdQcmljZU11bHQiEElkeENmZ0lkb0Fzc2V0SWQiEklkeENmZ0lkb0Fzc2V0TXVsdCISSWR4Q2ZnUHJpY2VBc3NldElkIhRJZHhDZmdQcmljZUFzc2V0TXVsdCIVSWR4Q2ZnTWluSW52ZXN0QW1vdW50Ig1mcm9tYXRDb25maWdTIghpZG9TdGFydCILaWRvRHVyYXRpb24iCmNsYWltU3RhcnQiDWNsYWltRHVyYXRpb24iCXByaWNlTXVsdCIMaWRvQXNzZXRJZDU4IgxpZG9Bc3NldE11bHQiDnByaWNlQXNzZXRJZDU4Ig5wcmljZUFzc2V0TXVsdCIPbWluSW52ZXN0QW1vdW50IhN0b3RhbElkb0Fzc2V0VG9TZWxsIgxmcm9tYXRDb25maWciEUlkeEludlRvdGFsQW1vdW50IhVJZHhJbnZSZW1haW5pbmdBbW91bnQiHUlkeEludkNsYWltZWRQcmljZUFzc2V0QW1vdW50IhtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQiF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0Ig9mb3JtYXRJbnZlc3RvclMiC3RvdGFsQW1vdW50Ig9yZW1haW5pbmdBbW91bnQiF2NsYWltZWRQcmljZUFzc2V0QW1vdW50IhVjbGFpbWVkSWRvQXNzZXRBbW91bnQiEWxhc3RDbGFpbWVkSGVpZ2h0Ig5mb3JtYXRJbnZlc3RvciITZm9ybWF0SGlzdG9yeVJlY29yZCIOaWRvQXNzZXRBbW91bnQiCWtleUNvbmZpZyILa2V5SW52ZXN0b3IiC3VzZXJBZGRyZXNzIglrZXlUb3RhbHMiGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQiBHR5cGUiBnR4SWQ1OCIUa2V5VVNETkNsYWltRGlzYWJsZWQiFWtleVVTRE5DbGFpbUVuZEhlaWdodCIPa2V5UGVyaW9kTGVuZ3RoIhBrZXlDdXJyZW50UGVyaW9kIhRrZXlQZXJpb2RTdGFydEhlaWdodCIJcGVyaW9kTnVtIhJrZXlQZXJpb2RFbmRIZWlnaHQiH2tleVVzZHRQcmljZUFzc2V0QWxsb3dhYmxlUmF0aW8iF2tleVRvdGFsUGVyaW9kQWxsb3dhbmNlIgdhc3NldElkIhZrZXlVc2VyUGVyaW9kQWxsb3dhbmNlIh5rZXlQZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iHWtleVBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhtrZXlVc2R0UHJpY2VBc3NldFN0YWJsZVBvb2wiDmtleVVzZHRBc3NldElkIhRrZXlQcmljZUFzc2V0QmFsYW5jZSIHYWRkcmVzcyITa2V5TWFuYWdlclB1YmxpY0tleSIaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkiD3JlYWRDb25maWdBcnJheSIjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkiCWN1c3RvbUtleSIYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0IhpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdCIXcmVhZEludmVzdG9yQXJyYXlPckZhaWwiFUlkeERpZmZUb3RhbEluY3JlbWVudCIkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50IiJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50IiVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50IgtUb3RhbHNFbnRyeSIJb3JpZ0FycmF5Ig1pbmNyZW1lbnREaWZmIhRuZXdMYXN0Q2xhaW1lZEhlaWdodCIRcHJpY2VBc3NldEJhbGFuY2UiDm5ld1RvdGFsQW1vdW50IhJuZXdSZW1haW5pbmdBbW91bnQiCGNmZ0FycmF5IhJwcmljZUFzc2V0RGVjaW1hbHMiI3ByaWNlQXNzZXRCYWxhbmNlUHJpY2VBc3NldERlY2ltYWxzIhpuZXdDbGFpbWVkUHJpY2VBc3NldEFtb3VudCIYbmV3Q2xhaW1lZElkb0Fzc2V0QW1vdW50IhtJbnZlc3RPcGVyYXRpb25IaXN0b3J5RW50cnkiBHR4SWQiGkNsYWltT3BlcmF0aW9uSGlzdG9yeUVudHJ5Ig1pbnRlcm5hbENsYWltIhBjbGFpbWVkQXNzZXRJZDU4IghjbGFpbUVuZCIKaWRvQXNzZXRJZCIMcHJpY2VBc3NldElkIg11c2VyQWRkcmVzczU4Ig9vcmlnSW52ZXN0QXJyYXkiEWludmVzdFRvdGFsQW1vdW50IhppbnZlc3RMYXN0Q2xhaW1lZEhlaWdodFRNUCIXaW52ZXN0TGFzdENsYWltZWRIZWlnaHQiFG5ld0NsYWltUGVyaW9kSGVpZ2h0Ig5jbGFpbWluZ0Jsb2NrcyIYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50IhZjbGFpbWluZ0lkb0Fzc2V0QW1vdW50IgZpc1VTRE4iE2lzVVNETkNsYWltRGlzYWJsZWQiBmNoZWNrcyIPaW50ZXJuYWxDbGFpbVYyIglvdXRBbW91bnQiGXRvdGFsVXNlckF2YWlsYWJsZVRvQ2xhaW0iHnRvdGFsUGVyaW9kUHJpY2VBc3NldEFsbG93YW5jZSIddXNlclBlcmlvZFByaWNlQXNzZXRBbGxvd2FuY2UiDHBlcmlvZExlbmd0aCINY3VycmVudFBlcmlvZCIbemVyb1BlcmlvZEVuZEhlaWdoSXNEZWZpbmVkIg0kdDAxMjQ4MjE0MzUyIhVsYXN0UGVyaW9kU3RhcnRIZWlnaHQiE2xhc3RQZXJpb2RFbmRIZWlnaHQiDSR0MDEyNzQyMTM0NDciFHVwZGF0ZWRDdXJyZW50UGVyaW9kIgtwZXJpb2RTdGFydCIXYmxvY2tzVG9MYXN0UGVyaW9kU3RhcnQiCXBlcmlvZEVuZCIVemVyb1BlcmlvZFN0YXJ0SGVpZ2h0IhN6ZXJvUGVyaW9kRW5kSGVpZ2h0Ig0kdDAxMzcwMjE0MDg0IhtwZXJpb2RUb3RhbEF2YWlsYWJsZVRvQ2xhaW0iGnBlcmlvZFVzZXJBdmFpbGFibGVUb0NsYWltIhlwZXJpb2RNaW5BdmFpbGFibGVUb0NsYWltIhx1c2R0UHJpY2VBc3NldEFsbG93YWJsZVJhdGlvIhtwdXRPbmVUa25WMlByaWNlQXNzZXRBbW91bnQiDSR0MDE1MTA3MTUzNjAiAUAiBWJvbnVzIglmZWVBbW91bnQiCGxwQW1vdW50Igt1c2R0QXNzZXRJZCINJHQwMTU0MjIxNTY0MCIUZ2V0T25lVGtuVjJGZWVBbW91bnQiCnVzZHRBbW91bnQiGmN1cnJlbnRVc2R0UHJpY2VBc3NldFJhdGlvIhNlbmRQZXJpb2RCbG9ja3NMZWZ0IhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgckbWF0Y2gwIgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIGaWRvRW5kIgNwbXQiDGlkb0Fzc2V0SW5mbyIOcHJpY2VBc3NldEluZm8iD29yaWdUb3RhbHNBcnJheSIKdG90YWxzRGlmZiIObWluSXZlc3RBbW91bnQiCnBtdEFzc2V0SWQiCXBtdEFtb3VudCIRb3JpZ0ludmVzdG9yQXJyYXkiE25ld1ByaWNlVG90YWxBbW91bnQiFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQiD2NhbGxlckFkZHJlc3M1OCIQY2xhaW1SZXN1bHRUdXBsZSIKb3V0QXNzZXRJZCIaY2xhaW1lZFByaWNlQW1vdW50RnJvbURpZmYiHWNsYWltZWRJZG9Bc3NldEFtb3VudEZyb21EaWZmIgdlbnRyaWVzIg0kdDAyMTU0OTIxOTkzIiJ1cGRhdGVkUGVyaW9kVG90YWxBdmFpbGFibGVUb0NsYWltIiF1cGRhdGVkUGVyaW9kVXNlckF2YWlsYWJsZVRvQ2xhaW0iGHVwZGF0ZWRQcmljZUFzc2V0QmFsYW5jZSIccHJpY2VBc3NldEJhbGFuY2VJZG9EZWNpbWFscyIVYXZhaWxhYmxlVG9DbGFpbUFycmF5IhthdmFpbGFibGVQcmljZUFtb3VudFRvQ2xhaW0iGWF2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", "chainId": 84, "height": 2346704, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FUwBGt91eaTzwrgxUkcWTd8iuxQBXJRNxDR58JGuire9 Next: HNAZjp4N6gzhHXAGGALQMBHMmVB7DdPFK7Wkkc7pC3En Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
1313 func f (g) = throw(makeString(["ido.ride:", g], " "))
1414
1515
16-func h (i) = {
17- let j = i
18- if ($isInstanceOf(j, "String"))
19- then {
20- let k = j
21- k
22- }
23- else throw("fail to cast into String")
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))
2422 }
2523
2624
27-func l (m,n,o,p,q) = {
28- let r = toBigInt(n)
29- let s = toBigInt(q)
30- let t = fraction(toBigInt(m), d, r)
31- let u = fraction(t, toBigInt(p), toBigInt(o))
32- toInt(fraction(u, toBigInt(q), d))
25+let r = 1
26+
27+let s = 2
28+
29+let t = 3
30+
31+let u = 4
32+
33+let v = 5
34+
35+let w = 6
36+
37+let x = 7
38+
39+let y = 8
40+
41+let z = 9
42+
43+let A = 10
44+
45+let B = 11
46+
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)
48+
49+
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))
51+
52+
53+let P = 1
54+
55+let Q = 2
56+
57+let R = 3
58+
59+let S = 4
60+
61+let T = 5
62+
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
64+
65+
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
67+
68+
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
70+
71+
72+func ad () = "%s__config"
73+
74+
75+func ae (af) = ("%s__" + af)
76+
77+
78+func ag () = "%s__totals"
79+
80+
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
82+
83+
84+func ak () = "%s__usdnClaimDisabled"
85+
86+
87+func al () = "%s__usdnClaimEndHeight"
88+
89+
90+func am () = makeString(["%s", "periodLength"], c)
91+
92+
93+func an () = makeString(["%s", "currentPeriod"], c)
94+
95+
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
97+
98+
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
100+
101+
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
103+
104+
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
106+
107+
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
109+
110+
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
112+
113+
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
115+
116+
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,aR) = {
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 aS = (V + aP[aJ])
162+ let aT = (W + aP[aK])
163+ let aU = aD()
164+ let K = aU[z]
165+ let aV = value(assetInfo(fromBase58String(K))).decimals
166+ let aW = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
167+ let aX = ((X + aP[aL]) - aR)
168+ let aY = ((Y + aP[aM]) + aW)
169+ if ((0 > aT))
170+ then f(makeString(["invalid math", toString(W), toString(aP[aK]), toString(aT), toString(aP[aJ])], " "))
171+ else StringEntry(b, aa(aS, aT, aX, aY, aQ))
33172 }
34173
35174
36-let v = 1
37-
38-let w = 2
39-
40-let x = 3
41-
42-let y = 4
43-
44-let z = 5
45-
46-let A = 6
47-
48-let B = 7
49-
50-let C = 8
51-
52-let D = 9
53-
54-let E = 10
55-
56-let F = 11
57-
58-func G (H,I,J,K,o,L,M,N,O,P,Q,R) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", H, I, J, K, o, L, M, N, O, P, Q, R], c)
175+func aZ (af,i,ac,ba) = StringEntry(ah("invest", af, toBase58String(ba)), ab(i, ac))
59176
60177
61-func S (H,I,J,K,o,L,M,N,O,P,Q,R) = G(toString(H), toString(I), toString(J), toString(K), toString(o), toString(L), M, toString(N), O, toString(P), toString(Q), toString(R))
178+func bb (af,i,ac,ba) = StringEntry(ah("claim", af, toBase58String(ba)), ab(i, ac))
62179
63180
64-let T = 1
65-
66-let U = 2
67-
68-let V = 3
69-
70-let W = 4
71-
72-let X = 5
73-
74-func Y (Z,aa,ab,ac,ad) = makeString(["%d%d%d%d%d", Z, aa, ab, ac, ad], c)
75-
76-
77-func ae (Z,aa,ab,ac,ad) = Y(toString(Z), toString(aa), toString(ab), toString(ac), toString(ad))
78-
79-
80-func af (m,ag) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(m), toString(ag)], c)
81-
82-
83-func ah () = "%s__config"
84-
85-
86-func ai (aj) = ("%s__" + aj)
87-
88-
89-func ak () = "%s__totals"
90-
91-
92-func al (am,aj,an) = makeString(["%s%s%s%s__history", am, aj, an], c)
93-
94-
95-func ao () = "%s__usdnClaimDisabled"
96-
97-
98-func ap () = "%s__usdnClaimEndHeight"
99-
100-
101-func aq () = makeString(["%s", "periodLength"], c)
102-
103-
104-func ar () = makeString(["%s", "currentPeriod"], c)
105-
106-
107-func as (at) = makeString(["%s%s", "periodStartHeight", toString(at)], c)
108-
109-
110-func au (at) = makeString(["%s%s", "periodEndHeight", toString(at)], c)
111-
112-
113-func av () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
114-
115-
116-func aw (ax) = makeString(["%s%s", "totalPeriodAllowance", ax], c)
117-
118-
119-func ay (ax) = makeString(["%s%s", "userPeriodAllowance", ax], c)
120-
121-
122-func az (ax,at) = makeString(["%s%s%s", "periodTotalAvailableToClaim", ax, toString(at)], c)
123-
124-
125-func aA (ax,at,aj) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", ax, toString(at), aj], c)
126-
127-
128-func aB () = makeString(["%s", "usdtPriceAssetStablePool"], c)
129-
130-
131-func aC () = makeString(["%s", "usdtAssetId"], c)
132-
133-
134-func aD (aE) = makeString(["%s%s", "priceAssetBalance", aE], c)
135-
136-
137-func aF (aE) = makeString(["%s%s", "investorRemainingAmount", aE], c)
138-
139-
140-func aG () = makeString(["%s", "totalRemainingAmount"], c)
141-
142-
143-func aH () = "%s__managerPublicKey"
144-
145-
146-func aI () = "%s__pendingManagerPublicKey"
147-
148-
149-func aJ () = split(a(ah()), c)
150-
151-
152-func aK (aL) = split(valueOrElse(getString(aL), Y("0", "0", "0", "0", "0")), c)
153-
154-
155-func aM () = aK(ak())
156-
157-
158-func aN (aj) = aK(ai(aj))
159-
160-
161-func aO (aj) = split(a(ai(aj)), c)
162-
163-
164-let aP = 0
165-
166-let aQ = 1
167-
168-let aR = 2
169-
170-let aS = 3
171-
172-func aT (b,aU,aV,aW,aX) = {
173- let Z = parseIntValue(aU[T])
174- let aa = parseIntValue(aU[U])
175- let ab = parseIntValue(aU[V])
176- let ac = parseIntValue(aU[W])
177- let ad = parseIntValue(aU[X])
178- let aY = (Z + aV[aP])
179- let aZ = (aa + aV[aQ])
180- let ba = aJ()
181- let O = ba[D]
182- let bb = value(assetInfo(fromBase58String(O))).decimals
183- let bc = fraction(aX, e, pow(10, 0, bb, 0, 0, DOWN))
184- let bd = ((ab + aV[aR]) - aX)
185- let be = ((ac + aV[aS]) + bc)
186- let bf = if ((0 > aZ))
187- then {
188- let bg = ((aY - bd) - be)
189- let bh = if ((0 > bg))
190- then 0
191- else bg
192- StringEntry(b, ae(aY, bh, bd, be, aW))
193- }
194- else StringEntry(b, ae(aY, aZ, bd, be, aW))
195- bf
196- }
197-
198-
199-func bi (aj,m,ag,bj) = StringEntry(al("invest", aj, toBase58String(bj)), af(m, ag))
200-
201-
202-func bk (aj,m,ag,bj) = StringEntry(al("claim", aj, toBase58String(bj)), af(m, ag))
203-
204-
205-func bl (bm,aj,bj) = {
206- let ba = aJ()
207- let J = parseIntValue(ba[x])
208- let K = parseIntValue(ba[y])
209- let bn = (J + K)
210- let o = parseIntValue(ba[z])
211- let L = parseIntValue(ba[A])
212- let M = ba[B]
213- let bo = fromBase58String(M)
214- let N = parseIntValue(ba[C])
215- let O = ba[D]
216- let bp = fromBase58String(O)
217- let P = parseIntValue(ba[E])
218- let bq = toString(aj)
219- let br = aO(bq)
220- let bs = parseIntValue(br[T])
221- let bt = parseIntValue(br[X])
222- let bu = if ((J >= bt))
223- then J
224- else bt
225- let bv = if ((height > bn))
226- then bn
227- else if ((J > height))
228- then J
181+func bc (bd,af,ba) = {
182+ let aU = aD()
183+ let F = parseIntValue(aU[t])
184+ let G = parseIntValue(aU[u])
185+ let be = (F + G)
186+ let k = parseIntValue(aU[v])
187+ let H = parseIntValue(aU[w])
188+ let I = aU[x]
189+ let bf = fromBase58String(I)
190+ let J = parseIntValue(aU[y])
191+ let K = aU[z]
192+ let bg = fromBase58String(K)
193+ let L = parseIntValue(aU[A])
194+ let bh = toString(af)
195+ let bi = aI(bh)
196+ let bj = parseIntValue(bi[P])
197+ let bk = parseIntValue(bi[T])
198+ let bl = if ((F >= bk))
199+ then F
200+ else bk
201+ let bm = if ((height > be))
202+ then be
203+ else if ((F > height))
204+ then F
229205 else height
230- let bw = (bv - bu)
231- let bx = fraction(bs, bw, K)
232- let by = l(bx, P, o, L, N)
233- let bz = (bm == O)
234- let bA = valueOrElse(getBoolean(ao()), false)
235- let bB = [if (!(if (bz)
236- then bA
206+ let bn = (bm - bl)
207+ let bo = fraction(bj, bn, G)
208+ let bp = h(bo, L, k, H, J)
209+ let bq = (bd == K)
210+ let br = valueOrElse(getBoolean(ak()), false)
211+ let bs = [if (!(if (bq)
212+ then br
237213 else false))
238214 then true
239215 else throw("USDN claim is disabled")]
240- if ((bB == bB))
241- then if ((bm == O))
242- then $Tuple6([0, -(bx), bx, 0], bx, bp, br, bv, [bx, by])
243- else if ((bm == M))
244- then $Tuple6([0, -(bx), 0, by], by, bo, br, bv, [bx, by])
245- else throw(("unsupported assetId: " + bm))
216+ if ((bs == bs))
217+ then if ((bd == K))
218+ then $Tuple6([0, -(bo), bo, 0], bo, bg, bi, bm, [bo, bp])
219+ else if ((bd == I))
220+ then $Tuple6([0, -(bo), 0, bp], bp, bf, bi, bm, [bo, bp])
221+ else throw(("unsupported assetId: " + bd))
246222 else throw("Strict value is not equal to itself.")
247223 }
248224
249225
250-func bC (O,bq,bD,bE) = {
251- let bF = value(getInteger(aw(O)))
252- let bG = value(getInteger(ay(O)))
253- let bH = value(getInteger(aq()))
254- let bI = valueOrElse(getInteger(ar()), 0)
255- let bJ = isDefined(getInteger(au(0)))
256- let bK = if ((bI > 0))
226+func bt (K,bh,bu,bv) = {
227+ let bw = value(getInteger(as(K)))
228+ let bx = value(getInteger(au(K)))
229+ let by = value(getInteger(am()))
230+ let bz = valueOrElse(getInteger(an()), 0)
231+ let bA = isDefined(getInteger(aq(0)))
232+ let bB = if ((bz > 0))
257233 then {
258- let bL = value(getInteger(as(bI)))
259- let bM = value(getInteger(au(bI)))
260- let bN = if ((height > bM))
234+ let bC = value(getInteger(ao(bz)))
235+ let bD = value(getInteger(aq(bz)))
236+ let bE = if ((height > bD))
261237 then {
262- let bO = (bI + 1)
263- let bP = if ((height > (bM + bH)))
238+ let bF = (bz + 1)
239+ let bG = if ((height > (bD + by)))
264240 then {
265- let bQ = ((height - bM) % bH)
266- if ((bQ == 0))
267- then ((height - bH) + 1)
268- else (height - bQ)
241+ let bH = ((height - bD) % by)
242+ if ((bH == 0))
243+ then ((height - by) + 1)
244+ else (height - bH)
269245 }
270- else (bM + 1)
271- let bR = ((bP + bH) - 1)
272- $Tuple3(bO, bP, bR)
246+ else (bD + 1)
247+ let bI = ((bG + by) - 1)
248+ $Tuple3(bF, bG, bI)
273249 }
274- else $Tuple3(bI, bL, bM)
275- let bO = bN._1
276- let bP = bN._2
277- let bR = bN._3
278- $Tuple3(bO, bP, bR)
250+ else $Tuple3(bz, bC, bD)
251+ let bF = bE._1
252+ let bG = bE._2
253+ let bI = bE._3
254+ $Tuple3(bF, bG, bI)
279255 }
280- else if (bJ)
256+ else if (bA)
281257 then {
282- let bS = value(getInteger(as(0)))
283- let bT = value(getInteger(au(0)))
284- let bU = if ((height > bT))
258+ let bJ = value(getInteger(ao(0)))
259+ let bK = value(getInteger(aq(0)))
260+ let bL = if ((height > bK))
285261 then {
286- let bO = (bI + 1)
287- let bP = (bT + 1)
288- let bR = ((bP + bH) - 1)
289- $Tuple3(bO, bP, bR)
262+ let bF = (bz + 1)
263+ let bG = (bK + 1)
264+ let bI = ((bG + by) - 1)
265+ $Tuple3(bF, bG, bI)
290266 }
291- else $Tuple3(bI, bS, bT)
292- let bO = bU._1
293- let bP = bU._2
294- let bR = bU._3
295- $Tuple3(bO, bP, bR)
267+ else $Tuple3(bz, bJ, bK)
268+ let bF = bL._1
269+ let bG = bL._2
270+ let bI = bL._3
271+ $Tuple3(bF, bG, bI)
296272 }
297- else $Tuple3(bI, valueOrElse(getInteger(as(bI)), height), valueOrElse(getInteger(au(bI)), ((height + bH) - 1)))
298- let bO = bK._1
299- let bP = bK._2
300- let bR = bK._3
301- let bV = valueOrElse(getInteger(az(O, bO)), bF)
302- let bW = valueOrElse(getInteger(aA(O, bO, bq)), bG)
303- let aX = valueOrElse(getInteger(aD(bq)), 0)
304- let bX = min([(bD + aX), bV, bW])
305- let bY = value(getInteger(av()))
306- let bZ = e
307- let ca = {
308- let cb = invoke(addressFromStringValue(value(getString(aB()))), "putOneTknV2WithoutTakeFeeREADONLY", [bZ, O], nil)
309- if ($isInstanceOf(cb, "(Int, Int, Int)"))
310- then cb
311- else throw(($getType(cb) + " couldn't be cast to (Int, Int, Int)"))
273+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
274+ let bF = bB._1
275+ let bG = bB._2
276+ let bI = bB._3
277+ let bM = valueOrElse(getInteger(av(K, bF)), bw)
278+ let bN = valueOrElse(getInteger(aw(K, bF, bh)), bx)
279+ let aR = valueOrElse(getInteger(az(bh)), 0)
280+ let bO = min([(bu + aR), bM, bN])
281+ let bP = value(getInteger(ar()))
282+ let bQ = e
283+ let bR = {
284+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
285+ if ($isInstanceOf(bS, "(Int, Int, Int)"))
286+ then bS
287+ else throw("Couldn't cast Any to (Int, Int, Int)")
312288 }
313- if ((ca == ca))
289+ if ((bR == bR))
314290 then {
315- let cc = ca._3
316- let cd = ca._2
317- let ce = ca._1
318- let cf = value(getString(aC()))
319- let cg = {
320- let cb = invoke(addressFromStringValue(value(getString(aB()))), "getOneTknV2READONLY", [cf, ce], nil)
321- if ($isInstanceOf(cb, "(Int, Int)"))
322- then cb
323- else throw(($getType(cb) + " couldn't be cast to (Int, Int)"))
291+ let bT = bR._3
292+ let bU = bR._2
293+ let bV = bR._1
294+ let bW = value(getString(ay()))
295+ let bX = {
296+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
297+ if ($isInstanceOf(bS, "(Int, Int)"))
298+ then bS
299+ else throw("Couldn't cast Any to (Int, Int)")
324300 }
325- if ((cg == cg))
301+ if ((bX == bX))
326302 then {
327- let ch = cg._2
328- let ci = cg._1
329- let cj = fraction(bZ, e, ci)
330- let ck = (bR - height)
331- $Tuple10(bX, bV, bW, bE, bY, cj, ck, bO, bP, bR)
303+ let bY = bX._2
304+ let bZ = bX._1
305+ let ca = fraction(bQ, e, bZ)
306+ let cb = (bI - height)
307+ $Tuple10(bO, bM, bN, bv, bP, ca, cb, bF, bG, bI)
332308 }
333309 else throw("Strict value is not equal to itself.")
334310 }
336312 }
337313
338314
339-func cl () = {
340- let j = getString(aH())
341- if ($isInstanceOf(j, "String"))
315+func cc () = {
316+ let cd = getString(aB())
317+ if ($isInstanceOf(cd, "String"))
342318 then {
343- let cm = j
344- fromBase58String(cm)
319+ let ce = cd
320+ fromBase58String(ce)
345321 }
346- else if ($isInstanceOf(j, "Unit"))
322+ else if ($isInstanceOf(cd, "Unit"))
347323 then unit
348324 else throw("Match error")
349325 }
350326
351327
352-func cn () = {
353- let j = getString(aI())
354- if ($isInstanceOf(j, "String"))
328+func cf () = {
329+ let cd = getString(aC())
330+ if ($isInstanceOf(cd, "String"))
355331 then {
356- let cm = j
357- fromBase58String(cm)
332+ let ce = cd
333+ fromBase58String(ce)
358334 }
359- else if ($isInstanceOf(j, "Unit"))
335+ else if ($isInstanceOf(cd, "Unit"))
360336 then unit
361337 else throw("Match error")
362338 }
363339
364340
365-func co (cp) = {
366- let cq = throw("Permission denied")
367- let j = cl()
368- if ($isInstanceOf(j, "ByteVector"))
341+func cg (ch) = {
342+ let ci = throw("Permission denied")
343+ let cd = cc()
344+ if ($isInstanceOf(cd, "ByteVector"))
369345 then {
370- let cr = j
371- if ((cp.callerPublicKey == cr))
346+ let cj = cd
347+ if ((ch.callerPublicKey == cj))
372348 then true
373- else cq
349+ else ci
374350 }
375- else if ($isInstanceOf(j, "Unit"))
376- then if ((cp.caller == this))
351+ else if ($isInstanceOf(cd, "Unit"))
352+ then if ((ch.caller == this))
377353 then true
378- else cq
354+ else ci
379355 else throw("Match error")
380356 }
381357
382358
383-@Callable(cp)
384-func constructor (H,I,J,K,o,O,Q) = {
385- let L = ((100 * 1000) * 1000)
386- let cs = (H + I)
387- if (isDefined(getString(ah())))
359+@Callable(ch)
360+func constructor (D,E,F,G,k,K,M) = {
361+ let H = ((100 * 1000) * 1000)
362+ let ck = (D + E)
363+ if (isDefined(getString(ad())))
388364 then throw("already initialized")
389- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cp.caller)))
365+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ch.caller)))
390366 then throw("not authorized")
391- else if ((size(cp.payments) != 1))
367+ else if ((size(ch.payments) != 1))
392368 then throw("exactly 1 payment must be attached")
393- else if ((cs >= J))
369+ else if ((ck >= F))
394370 then throw("claimStart must be greater than idoEnd")
395371 else {
396- let ct = value(cp.payments[0])
397- let bo = value(ct.assetId)
398- let cu = valueOrErrorMessage(assetInfo(bo), "fail to load ido asset info")
399- let M = toBase58String(bo)
400- let N = pow(10, 0, cu.decimals, 0, 0, DOWN)
401- let bp = fromBase58String(O)
402- let cv = valueOrErrorMessage(assetInfo(bp), "fail to load price asset info")
403- let P = pow(10, 0, cv.decimals, 0, 0, DOWN)
404- let cw = aM()
405- let cx = [0, 0, 0, 0]
406-[StringEntry(ah(), S(H, I, J, K, o, L, M, N, O, P, Q, ct.amount)), aT(ak(), cw, cx, J, 0)]
372+ let cl = value(ch.payments[0])
373+ let bf = value(cl.assetId)
374+ let cm = valueOrErrorMessage(assetInfo(bf), "fail to load ido asset info")
375+ let I = toBase58String(bf)
376+ let J = pow(10, 0, cm.decimals, 0, 0, DOWN)
377+ let bg = fromBase58String(K)
378+ let cn = valueOrErrorMessage(assetInfo(bg), "fail to load price asset info")
379+ let L = pow(10, 0, cn.decimals, 0, 0, DOWN)
380+ let co = aG()
381+ let cp = [0, 0, 0, 0]
382+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cl.amount)), aN(ag(), co, cp, F, 0)]
407383 }
408384 }
409385
410386
411387
412-@Callable(cp)
388+@Callable(ch)
413389 func invest () = {
414- let ba = aJ()
415- let H = parseIntValue(ba[v])
416- let I = parseIntValue(ba[w])
417- let cs = (H + I)
418- let J = parseIntValue(ba[x])
419- let K = parseIntValue(ba[y])
420- let o = parseIntValue(ba[z])
421- let L = parseIntValue(ba[A])
422- let M = ba[B]
423- let bo = fromBase58String(M)
424- let N = parseIntValue(ba[C])
425- let O = ba[D]
426- let bp = fromBase58String(O)
427- let P = parseIntValue(ba[E])
428- let cy = parseIntValue(ba[F])
429- let aj = toString(cp.caller)
430- if ((H > height))
390+ let aU = aD()
391+ let D = parseIntValue(aU[r])
392+ let E = parseIntValue(aU[s])
393+ let ck = (D + E)
394+ let F = parseIntValue(aU[t])
395+ let G = parseIntValue(aU[u])
396+ let k = parseIntValue(aU[v])
397+ let H = parseIntValue(aU[w])
398+ let I = aU[x]
399+ let bf = fromBase58String(I)
400+ let J = parseIntValue(aU[y])
401+ let K = aU[z]
402+ let bg = fromBase58String(K)
403+ let L = parseIntValue(aU[A])
404+ let cq = parseIntValue(aU[B])
405+ let af = toString(ch.caller)
406+ if ((D > height))
431407 then throw("ido has not been started yet")
432- else if ((height > cs))
408+ else if ((height > ck))
433409 then throw("ido has been already ended")
434- else if ((size(cp.payments) != 1))
410+ else if ((size(ch.payments) != 1))
435411 then throw("exactly 1 payment is expected")
436412 else {
437- let ct = value(cp.payments[0])
438- let cz = value(ct.assetId)
439- let cA = ct.amount
440- if ((cz != bp))
441- then throw((("invalid payment asset id: " + toBase58String(cz)) + " is expected"))
413+ let cl = value(ch.payments[0])
414+ let cr = value(cl.assetId)
415+ let cs = cl.amount
416+ if ((cr != bg))
417+ then throw((("invalid payment asset id: " + toBase58String(cr)) + " is expected"))
442418 else {
443- let cB = aN(aj)
444- let cw = aM()
445- let cC = (parseIntValue(cw[T]) + cA)
446- let cD = (cC * 100)
447- if ((cD > assetBalance(this, bo)))
419+ let ct = aH(af)
420+ let co = aG()
421+ let cu = (parseIntValue(co[P]) + cs)
422+ let cv = (cu * 100)
423+ if ((cv > assetBalance(this, bf)))
448424 then throw("IDO asset has been - sold consider to use smaller payment")
449425 else {
450- let cx = [cA, cA, 0, 0]
451-[aT(ai(aj), cB, cx, J, 0), aT(ak(), cw, cx, J, 0), bi(aj, cA, 0, cp.transactionId)]
426+ let cp = [cs, cs, 0, 0]
427+[aN(ae(af), ct, cp, F, 0), aN(ag(), co, cp, F, 0), aZ(af, cs, 0, ch.transactionId)]
452428 }
453429 }
454430 }
456432
457433
458434
459-@Callable(cp)
460-func claim (bm,bq) = {
461- let cE = toString(cp.caller)
462- if ((bq != cE))
435+@Callable(ch)
436+func claim (bd,bh) = {
437+ let cw = toString(ch.caller)
438+ if ((bh != cw))
463439 then throw("not authorized")
464440 else {
465- let ba = aJ()
466- let O = ba[D]
467- let cF = bl(bm, cp.caller, cp.transactionId)
468- let cx = cF._1
469- let bD = cF._2
470- let cG = cF._3
471- let br = cF._4
472- let bv = cF._5
473- let cH = cx[aR]
474- let cI = cx[aS]
475- let aX = valueOrElse(getInteger(aD(bq)), 0)
476- let bb = value(assetInfo(fromBase58String(O))).decimals
477- let bf = if ((bm == O))
441+ let aU = aD()
442+ let K = aU[z]
443+ let cx = bc(bd, ch.caller, ch.transactionId)
444+ let cp = cx._1
445+ let bu = cx._2
446+ let cy = cx._3
447+ let bi = cx._4
448+ let bm = cx._5
449+ let cz = cp[aL]
450+ let cA = cp[aM]
451+ let aR = valueOrElse(getInteger(az(bh)), 0)
452+ let aV = value(assetInfo(fromBase58String(K))).decimals
453+ let cB = if ((bd == K))
478454 then {
479- let cJ = bC(O, bq, bD, cx[aR])
480- let bX = cJ._1
481- let bV = cJ._2
482- let bW = cJ._3
483- let bE = cJ._4
484- let bY = cJ._5
485- let cj = cJ._6
486- let ck = cJ._7
487- let bO = cJ._8
488- let bP = cJ._9
489- let bR = cJ._10
490- let bB = [if ((bW > 0))
455+ let cC = bt(K, bh, bu, cp[aL])
456+ let bO = cC._1
457+ let bM = cC._2
458+ let bN = cC._3
459+ let bv = cC._4
460+ let bP = cC._5
461+ let ca = cC._6
462+ let cb = cC._7
463+ let bF = cC._8
464+ let bG = cC._9
465+ let bI = cC._10
466+ let bs = [if ((bN > 0))
491467 then true
492- else f("unavailable to claim because user period allowance reached"), if ((bV > 0))
468+ else f("unavailable to claim because user period allowance reached"), if ((bM > 0))
493469 then true
494- else f("unavailable to claim because total period allowance reached"), if ((bX > 0))
470+ else f("unavailable to claim because total period allowance reached"), if ((bO > 0))
495471 then true
496- else f("nothing to claim"), if ((bY > cj))
472+ else f("nothing to claim"), if ((bP > ca))
497473 then true
498474 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
499- if ((bB == bB))
475+ if ((bs == bs))
500476 then {
501- let cK = (bV - bX)
502- let cL = (bW - bX)
503- let bf = if ((aX > bX))
504- then [ScriptTransfer(cp.caller, bX, cG), IntegerEntry(aD(bq), (aX - bX))]
477+ let cD = (bM - bO)
478+ let cE = (bN - bO)
479+ let cB = if ((aR >= bO))
480+ then [ScriptTransfer(ch.caller, bO, cy), IntegerEntry(az(bh), (aR - bO))]
505481 else {
506- let cM = split(h(invoke(this, "claimREADONLY", [O, bq], nil)), c)
507- if ((cM == cM))
508- then {
509- let cN = parseIntValue(cM[3])
510- let cO = if ((cN == bX))
511- then {
512- let cP = parseIntValue(br[T])
513- let cQ = parseIntValue(br[U])
514- let cR = parseIntValue(br[V])
515- let cS = parseIntValue(br[W])
516- let cT = parseIntValue(br[X])
517- let cU = [toString(cP), "0", toString(cR), toString(cS), toString(cT)]
518- let cV = aM()
519- let cW = parseIntValue(cV[T])
520- let cX = parseIntValue(cV[U])
521- let cY = parseIntValue(cV[U])
522- let cZ = parseIntValue(cV[V])
523- let da = parseIntValue(cV[X])
524- let db = (cX - cQ)
525- let dc = [toString(cW), toString(db), toString(cY), toString(cZ), toString(da)]
526- let dd = (valueOrElse(getInteger(aG()), 0) + cQ)
527-[StringEntry(aF(bq), toString(cQ)), StringEntry(aG(), toString(dd)), aT(ai(bq), cU, cx, bv, 0), aT(ak(), dc, cx, bv, 0)]
528- }
529- else [aT(ai(bq), br, cx, bv, 0), aT(ak(), aM(), cx, bv, 0)]
530- let de = ((aX + bD) - bX)
531- ([ScriptTransfer(cp.caller, bX, cG), IntegerEntry(aD(bq), de)] ++ cO)
532- }
533- else throw("Strict value is not equal to itself.")
482+ let cF = ((aR + bu) - bO)
483+[ScriptTransfer(ch.caller, bO, cy), aN(ae(bh), bi, cp, bm, 0), aN(ag(), aG(), cp, bm, 0), IntegerEntry(az(bh), cF)]
534484 }
535- $Tuple2(([IntegerEntry(ar(), bO), IntegerEntry(as(bO), bP), IntegerEntry(au(bO), bR), IntegerEntry(az(O, bO), cK), IntegerEntry(aA(O, bO, bq), cL), bk(bq, bX, cI, cp.transactionId)] ++ bf), unit)
485+ $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bI), IntegerEntry(av(K, bF), cD), IntegerEntry(aw(K, bF, bh), cE), bb(bh, bO, cA, ch.transactionId)] ++ cB), unit)
536486 }
537487 else throw("Strict value is not equal to itself.")
538488 }
539489 else {
540- let df = fraction(aX, e, pow(10, 0, bb, 0, 0, DOWN))
541- $Tuple2([ScriptTransfer(cp.caller, (bD + df), cG), IntegerEntry(aD(bq), 0), aT(ai(bq), br, cx, bv, aX), aT(ak(), aM(), cx, bv, aX), bk(bq, cH, (cI + df), cp.transactionId)], unit)
490+ let cG = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
491+ $Tuple2([ScriptTransfer(ch.caller, (bu + cG), cy), IntegerEntry(az(bh), 0), aN(ae(bh), bi, cp, bm, aR), aN(ag(), aG(), cp, bm, aR), bb(bh, cz, (cA + cG), ch.transactionId)], unit)
542492 }
543- bf
493+ cB
544494 }
545495 }
546496
547497
548498
549-@Callable(cp)
550-func claimREADONLY (bm,bq) = {
551- let cF = bl(bm, addressFromStringValue(bq), fromBase58String(""))
552- let cx = cF._1
553- let bD = cF._2
554- let cG = cF._3
555- let br = cF._4
556- let bv = cF._5
557- let dg = cF._6
558- let cN = dg[0]
559- let dh = dg[1]
560- $Tuple2(nil, makeString(["%s%d%d", bq, toString(cN), toString(dh)], c))
499+@Callable(ch)
500+func claimREADONLY (bd,bh) = {
501+ let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
502+ let cp = cx._1
503+ let bu = cx._2
504+ let cy = cx._3
505+ let bi = cx._4
506+ let bm = cx._5
507+ let cH = cx._6
508+ let cI = cH[0]
509+ let cJ = cH[1]
510+ $Tuple2(nil, makeString(["%s%d%d", bh, toString(cI), toString(cJ)], c))
561511 }
562512
563513
564514
565-@Callable(cp)
566-func claimV2READONLY (bm,bq) = {
567- let cF = bl(bm, addressFromStringValue(bq), fromBase58String(""))
568- let cx = cF._1
569- let bD = cF._2
570- let cG = cF._3
571- let br = cF._4
572- let bv = cF._5
573- let dg = cF._6
574- let cN = dg[0]
575- let dh = dg[1]
576- let ba = aJ()
577- let O = ba[D]
578- let aX = valueOrElse(getInteger(aD(bq)), 0)
579- let df = (aX * 100)
580- let di = (dh + df)
581- let dj = bC(O, bq, bD, cx[aR])
582- let bX = dj._1
583- let bV = dj._2
584- let bW = dj._3
585- let bE = dj._4
586- let bY = dj._5
587- let cj = dj._6
588- let ck = dj._7
589- let bO = dj._8
590- let bP = dj._9
591- let bR = dj._10
592- let dk = valueOrElse(getInteger(au(bO)), 0)
593- let dl = (parseIntValue(aO(bq)[V]) - aX)
594- let dm = if ((height > dk))
515+@Callable(ch)
516+func claimV2READONLY (bd,bh) = {
517+ let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
518+ let cp = cx._1
519+ let bu = cx._2
520+ let cy = cx._3
521+ let bi = cx._4
522+ let bm = cx._5
523+ let cH = cx._6
524+ let cI = cH[0]
525+ let cJ = cH[1]
526+ let aU = aD()
527+ let K = aU[z]
528+ let aR = valueOrElse(getInteger(az(bh)), 0)
529+ let cG = (aR * 100)
530+ let cK = (cJ + cG)
531+ let cL = bt(K, bh, bu, cp[aL])
532+ let bO = cL._1
533+ let bM = cL._2
534+ let bN = cL._3
535+ let bv = cL._4
536+ let bP = cL._5
537+ let ca = cL._6
538+ let cb = cL._7
539+ let bF = cL._8
540+ let bG = cL._9
541+ let bI = cL._10
542+ let cM = valueOrElse(getInteger(aq(bF)), 0)
543+ let cN = (parseIntValue(aI(bh)[R]) - aR)
544+ let cO = if ((height > cM))
595545 then {
596- let dn = value(getInteger(aq()))
597- let do = value(getInteger(ay(O)))
598- let dp = value(getInteger(aw(O)))
599- makeString(["%d%d%d%d%d%d", toString(di), toString(do), toString(dp), toString(bY), toString(cj), toString(dn), toString(dl)], c)
546+ let cP = value(getInteger(am()))
547+ let cQ = value(getInteger(au(K)))
548+ let cR = value(getInteger(as(K)))
549+ makeString(["%d%d%d%d%d%d", toString(cK), toString(cQ), toString(cR), toString(bP), toString(ca), toString(cP), toString(cN)], c)
600550 }
601- else makeString(["%d%d%d%d%d%d", toString(di), toString(bX), toString(bV), toString(bY), toString(cj), toString(ck), toString(dl)], c)
602- $Tuple2(nil, dm)
551+ else makeString(["%d%d%d%d%d%d", toString(cK), toString(bO), toString(bM), toString(bP), toString(ca), toString(cb), toString(cN)], c)
552+ $Tuple2(nil, cO)
603553 }
604554
605555
606556
607-@Callable(cp)
608-func setManager (dq) = {
609- let dr = co(cp)
610- if ((dr == dr))
557+@Callable(ch)
558+func setManager (cS) = {
559+ let cT = cg(ch)
560+ if ((cT == cT))
611561 then {
612- let ds = fromBase58String(dq)
613- if ((ds == ds))
614- then [StringEntry(aI(), dq)]
562+ let cU = fromBase58String(cS)
563+ if ((cU == cU))
564+ then [StringEntry(aC(), cS)]
615565 else throw("Strict value is not equal to itself.")
616566 }
617567 else throw("Strict value is not equal to itself.")
619569
620570
621571
622-@Callable(cp)
572+@Callable(ch)
623573 func confirmManager () = {
624- let dt = cn()
625- let du = if (isDefined(dt))
574+ let cV = cf()
575+ let cW = if (isDefined(cV))
626576 then true
627577 else throw("No pending manager")
628- if ((du == du))
578+ if ((cW == cW))
629579 then {
630- let dv = if ((cp.callerPublicKey == value(dt)))
580+ let cX = if ((ch.callerPublicKey == value(cV)))
631581 then true
632582 else throw("You are not pending manager")
633- if ((dv == dv))
634- then [StringEntry(aH(), toBase58String(value(dt))), DeleteEntry(aI())]
583+ if ((cX == cX))
584+ then [StringEntry(aB(), toBase58String(value(cV))), DeleteEntry(aC())]
635585 else throw("Strict value is not equal to itself.")
636586 }
637587 else throw("Strict value is not equal to itself.")
638588 }
639589
640590
641-@Verifier(dw)
642-func dx () = {
643- let dy = {
644- let j = cl()
645- if ($isInstanceOf(j, "ByteVector"))
591+@Verifier(cY)
592+func cZ () = {
593+ let da = {
594+ let cd = cc()
595+ if ($isInstanceOf(cd, "ByteVector"))
646596 then {
647- let cr = j
648- cr
597+ let cj = cd
598+ cj
649599 }
650- else if ($isInstanceOf(j, "Unit"))
651- then dw.senderPublicKey
600+ else if ($isInstanceOf(cd, "Unit"))
601+ then cY.senderPublicKey
652602 else throw("Match error")
653603 }
654- sigVerify(dw.bodyBytes, dw.proofs[0], dy)
604+ sigVerify(cY.bodyBytes, cY.proofs[0], da)
655605 }
656606
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 6 #-}
1+{-# 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
1313 func f (g) = throw(makeString(["ido.ride:", g], " "))
1414
1515
16-func h (i) = {
17- let j = i
18- if ($isInstanceOf(j, "String"))
19- then {
20- let k = j
21- k
22- }
23- else throw("fail to cast into String")
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))
2422 }
2523
2624
27-func l (m,n,o,p,q) = {
28- let r = toBigInt(n)
29- let s = toBigInt(q)
30- let t = fraction(toBigInt(m), d, r)
31- let u = fraction(t, toBigInt(p), toBigInt(o))
32- toInt(fraction(u, toBigInt(q), d))
25+let r = 1
26+
27+let s = 2
28+
29+let t = 3
30+
31+let u = 4
32+
33+let v = 5
34+
35+let w = 6
36+
37+let x = 7
38+
39+let y = 8
40+
41+let z = 9
42+
43+let A = 10
44+
45+let B = 11
46+
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)
48+
49+
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))
51+
52+
53+let P = 1
54+
55+let Q = 2
56+
57+let R = 3
58+
59+let S = 4
60+
61+let T = 5
62+
63+func U (V,W,X,Y,Z) = makeString(["%d%d%d%d%d", V, W, X, Y, Z], c)
64+
65+
66+func aa (V,W,X,Y,Z) = U(toString(V), toString(W), toString(X), toString(Y), toString(Z))
67+
68+
69+func ab (i,ac) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(i), toString(ac)], c)
70+
71+
72+func ad () = "%s__config"
73+
74+
75+func ae (af) = ("%s__" + af)
76+
77+
78+func ag () = "%s__totals"
79+
80+
81+func ah (ai,af,aj) = makeString(["%s%s%s%s__history", ai, af, aj], c)
82+
83+
84+func ak () = "%s__usdnClaimDisabled"
85+
86+
87+func al () = "%s__usdnClaimEndHeight"
88+
89+
90+func am () = makeString(["%s", "periodLength"], c)
91+
92+
93+func an () = makeString(["%s", "currentPeriod"], c)
94+
95+
96+func ao (ap) = makeString(["%s%s", "periodStartHeight", toString(ap)], c)
97+
98+
99+func aq (ap) = makeString(["%s%s", "periodEndHeight", toString(ap)], c)
100+
101+
102+func ar () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
103+
104+
105+func as (at) = makeString(["%s%s", "totalPeriodAllowance", at], c)
106+
107+
108+func au (at) = makeString(["%s%s", "userPeriodAllowance", at], c)
109+
110+
111+func av (at,ap) = makeString(["%s%s%s", "periodTotalAvailableToClaim", at, toString(ap)], c)
112+
113+
114+func aw (at,ap,af) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", at, toString(ap), af], c)
115+
116+
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,aR) = {
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 aS = (V + aP[aJ])
162+ let aT = (W + aP[aK])
163+ let aU = aD()
164+ let K = aU[z]
165+ let aV = value(assetInfo(fromBase58String(K))).decimals
166+ let aW = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
167+ let aX = ((X + aP[aL]) - aR)
168+ let aY = ((Y + aP[aM]) + aW)
169+ if ((0 > aT))
170+ then f(makeString(["invalid math", toString(W), toString(aP[aK]), toString(aT), toString(aP[aJ])], " "))
171+ else StringEntry(b, aa(aS, aT, aX, aY, aQ))
33172 }
34173
35174
36-let v = 1
37-
38-let w = 2
39-
40-let x = 3
41-
42-let y = 4
43-
44-let z = 5
45-
46-let A = 6
47-
48-let B = 7
49-
50-let C = 8
51-
52-let D = 9
53-
54-let E = 10
55-
56-let F = 11
57-
58-func G (H,I,J,K,o,L,M,N,O,P,Q,R) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", H, I, J, K, o, L, M, N, O, P, Q, R], c)
175+func aZ (af,i,ac,ba) = StringEntry(ah("invest", af, toBase58String(ba)), ab(i, ac))
59176
60177
61-func S (H,I,J,K,o,L,M,N,O,P,Q,R) = G(toString(H), toString(I), toString(J), toString(K), toString(o), toString(L), M, toString(N), O, toString(P), toString(Q), toString(R))
178+func bb (af,i,ac,ba) = StringEntry(ah("claim", af, toBase58String(ba)), ab(i, ac))
62179
63180
64-let T = 1
65-
66-let U = 2
67-
68-let V = 3
69-
70-let W = 4
71-
72-let X = 5
73-
74-func Y (Z,aa,ab,ac,ad) = makeString(["%d%d%d%d%d", Z, aa, ab, ac, ad], c)
75-
76-
77-func ae (Z,aa,ab,ac,ad) = Y(toString(Z), toString(aa), toString(ab), toString(ac), toString(ad))
78-
79-
80-func af (m,ag) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(m), toString(ag)], c)
81-
82-
83-func ah () = "%s__config"
84-
85-
86-func ai (aj) = ("%s__" + aj)
87-
88-
89-func ak () = "%s__totals"
90-
91-
92-func al (am,aj,an) = makeString(["%s%s%s%s__history", am, aj, an], c)
93-
94-
95-func ao () = "%s__usdnClaimDisabled"
96-
97-
98-func ap () = "%s__usdnClaimEndHeight"
99-
100-
101-func aq () = makeString(["%s", "periodLength"], c)
102-
103-
104-func ar () = makeString(["%s", "currentPeriod"], c)
105-
106-
107-func as (at) = makeString(["%s%s", "periodStartHeight", toString(at)], c)
108-
109-
110-func au (at) = makeString(["%s%s", "periodEndHeight", toString(at)], c)
111-
112-
113-func av () = makeString(["%s", "usdtPriceAssetAllowableRatio"], c)
114-
115-
116-func aw (ax) = makeString(["%s%s", "totalPeriodAllowance", ax], c)
117-
118-
119-func ay (ax) = makeString(["%s%s", "userPeriodAllowance", ax], c)
120-
121-
122-func az (ax,at) = makeString(["%s%s%s", "periodTotalAvailableToClaim", ax, toString(at)], c)
123-
124-
125-func aA (ax,at,aj) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", ax, toString(at), aj], c)
126-
127-
128-func aB () = makeString(["%s", "usdtPriceAssetStablePool"], c)
129-
130-
131-func aC () = makeString(["%s", "usdtAssetId"], c)
132-
133-
134-func aD (aE) = makeString(["%s%s", "priceAssetBalance", aE], c)
135-
136-
137-func aF (aE) = makeString(["%s%s", "investorRemainingAmount", aE], c)
138-
139-
140-func aG () = makeString(["%s", "totalRemainingAmount"], c)
141-
142-
143-func aH () = "%s__managerPublicKey"
144-
145-
146-func aI () = "%s__pendingManagerPublicKey"
147-
148-
149-func aJ () = split(a(ah()), c)
150-
151-
152-func aK (aL) = split(valueOrElse(getString(aL), Y("0", "0", "0", "0", "0")), c)
153-
154-
155-func aM () = aK(ak())
156-
157-
158-func aN (aj) = aK(ai(aj))
159-
160-
161-func aO (aj) = split(a(ai(aj)), c)
162-
163-
164-let aP = 0
165-
166-let aQ = 1
167-
168-let aR = 2
169-
170-let aS = 3
171-
172-func aT (b,aU,aV,aW,aX) = {
173- let Z = parseIntValue(aU[T])
174- let aa = parseIntValue(aU[U])
175- let ab = parseIntValue(aU[V])
176- let ac = parseIntValue(aU[W])
177- let ad = parseIntValue(aU[X])
178- let aY = (Z + aV[aP])
179- let aZ = (aa + aV[aQ])
180- let ba = aJ()
181- let O = ba[D]
182- let bb = value(assetInfo(fromBase58String(O))).decimals
183- let bc = fraction(aX, e, pow(10, 0, bb, 0, 0, DOWN))
184- let bd = ((ab + aV[aR]) - aX)
185- let be = ((ac + aV[aS]) + bc)
186- let bf = if ((0 > aZ))
187- then {
188- let bg = ((aY - bd) - be)
189- let bh = if ((0 > bg))
190- then 0
191- else bg
192- StringEntry(b, ae(aY, bh, bd, be, aW))
193- }
194- else StringEntry(b, ae(aY, aZ, bd, be, aW))
195- bf
196- }
197-
198-
199-func bi (aj,m,ag,bj) = StringEntry(al("invest", aj, toBase58String(bj)), af(m, ag))
200-
201-
202-func bk (aj,m,ag,bj) = StringEntry(al("claim", aj, toBase58String(bj)), af(m, ag))
203-
204-
205-func bl (bm,aj,bj) = {
206- let ba = aJ()
207- let J = parseIntValue(ba[x])
208- let K = parseIntValue(ba[y])
209- let bn = (J + K)
210- let o = parseIntValue(ba[z])
211- let L = parseIntValue(ba[A])
212- let M = ba[B]
213- let bo = fromBase58String(M)
214- let N = parseIntValue(ba[C])
215- let O = ba[D]
216- let bp = fromBase58String(O)
217- let P = parseIntValue(ba[E])
218- let bq = toString(aj)
219- let br = aO(bq)
220- let bs = parseIntValue(br[T])
221- let bt = parseIntValue(br[X])
222- let bu = if ((J >= bt))
223- then J
224- else bt
225- let bv = if ((height > bn))
226- then bn
227- else if ((J > height))
228- then J
181+func bc (bd,af,ba) = {
182+ let aU = aD()
183+ let F = parseIntValue(aU[t])
184+ let G = parseIntValue(aU[u])
185+ let be = (F + G)
186+ let k = parseIntValue(aU[v])
187+ let H = parseIntValue(aU[w])
188+ let I = aU[x]
189+ let bf = fromBase58String(I)
190+ let J = parseIntValue(aU[y])
191+ let K = aU[z]
192+ let bg = fromBase58String(K)
193+ let L = parseIntValue(aU[A])
194+ let bh = toString(af)
195+ let bi = aI(bh)
196+ let bj = parseIntValue(bi[P])
197+ let bk = parseIntValue(bi[T])
198+ let bl = if ((F >= bk))
199+ then F
200+ else bk
201+ let bm = if ((height > be))
202+ then be
203+ else if ((F > height))
204+ then F
229205 else height
230- let bw = (bv - bu)
231- let bx = fraction(bs, bw, K)
232- let by = l(bx, P, o, L, N)
233- let bz = (bm == O)
234- let bA = valueOrElse(getBoolean(ao()), false)
235- let bB = [if (!(if (bz)
236- then bA
206+ let bn = (bm - bl)
207+ let bo = fraction(bj, bn, G)
208+ let bp = h(bo, L, k, H, J)
209+ let bq = (bd == K)
210+ let br = valueOrElse(getBoolean(ak()), false)
211+ let bs = [if (!(if (bq)
212+ then br
237213 else false))
238214 then true
239215 else throw("USDN claim is disabled")]
240- if ((bB == bB))
241- then if ((bm == O))
242- then $Tuple6([0, -(bx), bx, 0], bx, bp, br, bv, [bx, by])
243- else if ((bm == M))
244- then $Tuple6([0, -(bx), 0, by], by, bo, br, bv, [bx, by])
245- else throw(("unsupported assetId: " + bm))
216+ if ((bs == bs))
217+ then if ((bd == K))
218+ then $Tuple6([0, -(bo), bo, 0], bo, bg, bi, bm, [bo, bp])
219+ else if ((bd == I))
220+ then $Tuple6([0, -(bo), 0, bp], bp, bf, bi, bm, [bo, bp])
221+ else throw(("unsupported assetId: " + bd))
246222 else throw("Strict value is not equal to itself.")
247223 }
248224
249225
250-func bC (O,bq,bD,bE) = {
251- let bF = value(getInteger(aw(O)))
252- let bG = value(getInteger(ay(O)))
253- let bH = value(getInteger(aq()))
254- let bI = valueOrElse(getInteger(ar()), 0)
255- let bJ = isDefined(getInteger(au(0)))
256- let bK = if ((bI > 0))
226+func bt (K,bh,bu,bv) = {
227+ let bw = value(getInteger(as(K)))
228+ let bx = value(getInteger(au(K)))
229+ let by = value(getInteger(am()))
230+ let bz = valueOrElse(getInteger(an()), 0)
231+ let bA = isDefined(getInteger(aq(0)))
232+ let bB = if ((bz > 0))
257233 then {
258- let bL = value(getInteger(as(bI)))
259- let bM = value(getInteger(au(bI)))
260- let bN = if ((height > bM))
234+ let bC = value(getInteger(ao(bz)))
235+ let bD = value(getInteger(aq(bz)))
236+ let bE = if ((height > bD))
261237 then {
262- let bO = (bI + 1)
263- let bP = if ((height > (bM + bH)))
238+ let bF = (bz + 1)
239+ let bG = if ((height > (bD + by)))
264240 then {
265- let bQ = ((height - bM) % bH)
266- if ((bQ == 0))
267- then ((height - bH) + 1)
268- else (height - bQ)
241+ let bH = ((height - bD) % by)
242+ if ((bH == 0))
243+ then ((height - by) + 1)
244+ else (height - bH)
269245 }
270- else (bM + 1)
271- let bR = ((bP + bH) - 1)
272- $Tuple3(bO, bP, bR)
246+ else (bD + 1)
247+ let bI = ((bG + by) - 1)
248+ $Tuple3(bF, bG, bI)
273249 }
274- else $Tuple3(bI, bL, bM)
275- let bO = bN._1
276- let bP = bN._2
277- let bR = bN._3
278- $Tuple3(bO, bP, bR)
250+ else $Tuple3(bz, bC, bD)
251+ let bF = bE._1
252+ let bG = bE._2
253+ let bI = bE._3
254+ $Tuple3(bF, bG, bI)
279255 }
280- else if (bJ)
256+ else if (bA)
281257 then {
282- let bS = value(getInteger(as(0)))
283- let bT = value(getInteger(au(0)))
284- let bU = if ((height > bT))
258+ let bJ = value(getInteger(ao(0)))
259+ let bK = value(getInteger(aq(0)))
260+ let bL = if ((height > bK))
285261 then {
286- let bO = (bI + 1)
287- let bP = (bT + 1)
288- let bR = ((bP + bH) - 1)
289- $Tuple3(bO, bP, bR)
262+ let bF = (bz + 1)
263+ let bG = (bK + 1)
264+ let bI = ((bG + by) - 1)
265+ $Tuple3(bF, bG, bI)
290266 }
291- else $Tuple3(bI, bS, bT)
292- let bO = bU._1
293- let bP = bU._2
294- let bR = bU._3
295- $Tuple3(bO, bP, bR)
267+ else $Tuple3(bz, bJ, bK)
268+ let bF = bL._1
269+ let bG = bL._2
270+ let bI = bL._3
271+ $Tuple3(bF, bG, bI)
296272 }
297- else $Tuple3(bI, valueOrElse(getInteger(as(bI)), height), valueOrElse(getInteger(au(bI)), ((height + bH) - 1)))
298- let bO = bK._1
299- let bP = bK._2
300- let bR = bK._3
301- let bV = valueOrElse(getInteger(az(O, bO)), bF)
302- let bW = valueOrElse(getInteger(aA(O, bO, bq)), bG)
303- let aX = valueOrElse(getInteger(aD(bq)), 0)
304- let bX = min([(bD + aX), bV, bW])
305- let bY = value(getInteger(av()))
306- let bZ = e
307- let ca = {
308- let cb = invoke(addressFromStringValue(value(getString(aB()))), "putOneTknV2WithoutTakeFeeREADONLY", [bZ, O], nil)
309- if ($isInstanceOf(cb, "(Int, Int, Int)"))
310- then cb
311- else throw(($getType(cb) + " couldn't be cast to (Int, Int, Int)"))
273+ else $Tuple3(bz, valueOrElse(getInteger(ao(bz)), height), valueOrElse(getInteger(aq(bz)), ((height + by) - 1)))
274+ let bF = bB._1
275+ let bG = bB._2
276+ let bI = bB._3
277+ let bM = valueOrElse(getInteger(av(K, bF)), bw)
278+ let bN = valueOrElse(getInteger(aw(K, bF, bh)), bx)
279+ let aR = valueOrElse(getInteger(az(bh)), 0)
280+ let bO = min([(bu + aR), bM, bN])
281+ let bP = value(getInteger(ar()))
282+ let bQ = e
283+ let bR = {
284+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "putOneTknV2WithoutTakeFeeREADONLY", [bQ, K], nil)
285+ if ($isInstanceOf(bS, "(Int, Int, Int)"))
286+ then bS
287+ else throw("Couldn't cast Any to (Int, Int, Int)")
312288 }
313- if ((ca == ca))
289+ if ((bR == bR))
314290 then {
315- let cc = ca._3
316- let cd = ca._2
317- let ce = ca._1
318- let cf = value(getString(aC()))
319- let cg = {
320- let cb = invoke(addressFromStringValue(value(getString(aB()))), "getOneTknV2READONLY", [cf, ce], nil)
321- if ($isInstanceOf(cb, "(Int, Int)"))
322- then cb
323- else throw(($getType(cb) + " couldn't be cast to (Int, Int)"))
291+ let bT = bR._3
292+ let bU = bR._2
293+ let bV = bR._1
294+ let bW = value(getString(ay()))
295+ let bX = {
296+ let bS = invoke(addressFromStringValue(value(getString(ax()))), "getOneTknV2READONLY", [bW, bV], nil)
297+ if ($isInstanceOf(bS, "(Int, Int)"))
298+ then bS
299+ else throw("Couldn't cast Any to (Int, Int)")
324300 }
325- if ((cg == cg))
301+ if ((bX == bX))
326302 then {
327- let ch = cg._2
328- let ci = cg._1
329- let cj = fraction(bZ, e, ci)
330- let ck = (bR - height)
331- $Tuple10(bX, bV, bW, bE, bY, cj, ck, bO, bP, bR)
303+ let bY = bX._2
304+ let bZ = bX._1
305+ let ca = fraction(bQ, e, bZ)
306+ let cb = (bI - height)
307+ $Tuple10(bO, bM, bN, bv, bP, ca, cb, bF, bG, bI)
332308 }
333309 else throw("Strict value is not equal to itself.")
334310 }
335311 else throw("Strict value is not equal to itself.")
336312 }
337313
338314
339-func cl () = {
340- let j = getString(aH())
341- if ($isInstanceOf(j, "String"))
315+func cc () = {
316+ let cd = getString(aB())
317+ if ($isInstanceOf(cd, "String"))
342318 then {
343- let cm = j
344- fromBase58String(cm)
319+ let ce = cd
320+ fromBase58String(ce)
345321 }
346- else if ($isInstanceOf(j, "Unit"))
322+ else if ($isInstanceOf(cd, "Unit"))
347323 then unit
348324 else throw("Match error")
349325 }
350326
351327
352-func cn () = {
353- let j = getString(aI())
354- if ($isInstanceOf(j, "String"))
328+func cf () = {
329+ let cd = getString(aC())
330+ if ($isInstanceOf(cd, "String"))
355331 then {
356- let cm = j
357- fromBase58String(cm)
332+ let ce = cd
333+ fromBase58String(ce)
358334 }
359- else if ($isInstanceOf(j, "Unit"))
335+ else if ($isInstanceOf(cd, "Unit"))
360336 then unit
361337 else throw("Match error")
362338 }
363339
364340
365-func co (cp) = {
366- let cq = throw("Permission denied")
367- let j = cl()
368- if ($isInstanceOf(j, "ByteVector"))
341+func cg (ch) = {
342+ let ci = throw("Permission denied")
343+ let cd = cc()
344+ if ($isInstanceOf(cd, "ByteVector"))
369345 then {
370- let cr = j
371- if ((cp.callerPublicKey == cr))
346+ let cj = cd
347+ if ((ch.callerPublicKey == cj))
372348 then true
373- else cq
349+ else ci
374350 }
375- else if ($isInstanceOf(j, "Unit"))
376- then if ((cp.caller == this))
351+ else if ($isInstanceOf(cd, "Unit"))
352+ then if ((ch.caller == this))
377353 then true
378- else cq
354+ else ci
379355 else throw("Match error")
380356 }
381357
382358
383-@Callable(cp)
384-func constructor (H,I,J,K,o,O,Q) = {
385- let L = ((100 * 1000) * 1000)
386- let cs = (H + I)
387- if (isDefined(getString(ah())))
359+@Callable(ch)
360+func constructor (D,E,F,G,k,K,M) = {
361+ let H = ((100 * 1000) * 1000)
362+ let ck = (D + E)
363+ if (isDefined(getString(ad())))
388364 then throw("already initialized")
389- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(cp.caller)))
365+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(ch.caller)))
390366 then throw("not authorized")
391- else if ((size(cp.payments) != 1))
367+ else if ((size(ch.payments) != 1))
392368 then throw("exactly 1 payment must be attached")
393- else if ((cs >= J))
369+ else if ((ck >= F))
394370 then throw("claimStart must be greater than idoEnd")
395371 else {
396- let ct = value(cp.payments[0])
397- let bo = value(ct.assetId)
398- let cu = valueOrErrorMessage(assetInfo(bo), "fail to load ido asset info")
399- let M = toBase58String(bo)
400- let N = pow(10, 0, cu.decimals, 0, 0, DOWN)
401- let bp = fromBase58String(O)
402- let cv = valueOrErrorMessage(assetInfo(bp), "fail to load price asset info")
403- let P = pow(10, 0, cv.decimals, 0, 0, DOWN)
404- let cw = aM()
405- let cx = [0, 0, 0, 0]
406-[StringEntry(ah(), S(H, I, J, K, o, L, M, N, O, P, Q, ct.amount)), aT(ak(), cw, cx, J, 0)]
372+ let cl = value(ch.payments[0])
373+ let bf = value(cl.assetId)
374+ let cm = valueOrErrorMessage(assetInfo(bf), "fail to load ido asset info")
375+ let I = toBase58String(bf)
376+ let J = pow(10, 0, cm.decimals, 0, 0, DOWN)
377+ let bg = fromBase58String(K)
378+ let cn = valueOrErrorMessage(assetInfo(bg), "fail to load price asset info")
379+ let L = pow(10, 0, cn.decimals, 0, 0, DOWN)
380+ let co = aG()
381+ let cp = [0, 0, 0, 0]
382+[StringEntry(ad(), O(D, E, F, G, k, H, I, J, K, L, M, cl.amount)), aN(ag(), co, cp, F, 0)]
407383 }
408384 }
409385
410386
411387
412-@Callable(cp)
388+@Callable(ch)
413389 func invest () = {
414- let ba = aJ()
415- let H = parseIntValue(ba[v])
416- let I = parseIntValue(ba[w])
417- let cs = (H + I)
418- let J = parseIntValue(ba[x])
419- let K = parseIntValue(ba[y])
420- let o = parseIntValue(ba[z])
421- let L = parseIntValue(ba[A])
422- let M = ba[B]
423- let bo = fromBase58String(M)
424- let N = parseIntValue(ba[C])
425- let O = ba[D]
426- let bp = fromBase58String(O)
427- let P = parseIntValue(ba[E])
428- let cy = parseIntValue(ba[F])
429- let aj = toString(cp.caller)
430- if ((H > height))
390+ let aU = aD()
391+ let D = parseIntValue(aU[r])
392+ let E = parseIntValue(aU[s])
393+ let ck = (D + E)
394+ let F = parseIntValue(aU[t])
395+ let G = parseIntValue(aU[u])
396+ let k = parseIntValue(aU[v])
397+ let H = parseIntValue(aU[w])
398+ let I = aU[x]
399+ let bf = fromBase58String(I)
400+ let J = parseIntValue(aU[y])
401+ let K = aU[z]
402+ let bg = fromBase58String(K)
403+ let L = parseIntValue(aU[A])
404+ let cq = parseIntValue(aU[B])
405+ let af = toString(ch.caller)
406+ if ((D > height))
431407 then throw("ido has not been started yet")
432- else if ((height > cs))
408+ else if ((height > ck))
433409 then throw("ido has been already ended")
434- else if ((size(cp.payments) != 1))
410+ else if ((size(ch.payments) != 1))
435411 then throw("exactly 1 payment is expected")
436412 else {
437- let ct = value(cp.payments[0])
438- let cz = value(ct.assetId)
439- let cA = ct.amount
440- if ((cz != bp))
441- then throw((("invalid payment asset id: " + toBase58String(cz)) + " is expected"))
413+ let cl = value(ch.payments[0])
414+ let cr = value(cl.assetId)
415+ let cs = cl.amount
416+ if ((cr != bg))
417+ then throw((("invalid payment asset id: " + toBase58String(cr)) + " is expected"))
442418 else {
443- let cB = aN(aj)
444- let cw = aM()
445- let cC = (parseIntValue(cw[T]) + cA)
446- let cD = (cC * 100)
447- if ((cD > assetBalance(this, bo)))
419+ let ct = aH(af)
420+ let co = aG()
421+ let cu = (parseIntValue(co[P]) + cs)
422+ let cv = (cu * 100)
423+ if ((cv > assetBalance(this, bf)))
448424 then throw("IDO asset has been - sold consider to use smaller payment")
449425 else {
450- let cx = [cA, cA, 0, 0]
451-[aT(ai(aj), cB, cx, J, 0), aT(ak(), cw, cx, J, 0), bi(aj, cA, 0, cp.transactionId)]
426+ let cp = [cs, cs, 0, 0]
427+[aN(ae(af), ct, cp, F, 0), aN(ag(), co, cp, F, 0), aZ(af, cs, 0, ch.transactionId)]
452428 }
453429 }
454430 }
455431 }
456432
457433
458434
459-@Callable(cp)
460-func claim (bm,bq) = {
461- let cE = toString(cp.caller)
462- if ((bq != cE))
435+@Callable(ch)
436+func claim (bd,bh) = {
437+ let cw = toString(ch.caller)
438+ if ((bh != cw))
463439 then throw("not authorized")
464440 else {
465- let ba = aJ()
466- let O = ba[D]
467- let cF = bl(bm, cp.caller, cp.transactionId)
468- let cx = cF._1
469- let bD = cF._2
470- let cG = cF._3
471- let br = cF._4
472- let bv = cF._5
473- let cH = cx[aR]
474- let cI = cx[aS]
475- let aX = valueOrElse(getInteger(aD(bq)), 0)
476- let bb = value(assetInfo(fromBase58String(O))).decimals
477- let bf = if ((bm == O))
441+ let aU = aD()
442+ let K = aU[z]
443+ let cx = bc(bd, ch.caller, ch.transactionId)
444+ let cp = cx._1
445+ let bu = cx._2
446+ let cy = cx._3
447+ let bi = cx._4
448+ let bm = cx._5
449+ let cz = cp[aL]
450+ let cA = cp[aM]
451+ let aR = valueOrElse(getInteger(az(bh)), 0)
452+ let aV = value(assetInfo(fromBase58String(K))).decimals
453+ let cB = if ((bd == K))
478454 then {
479- let cJ = bC(O, bq, bD, cx[aR])
480- let bX = cJ._1
481- let bV = cJ._2
482- let bW = cJ._3
483- let bE = cJ._4
484- let bY = cJ._5
485- let cj = cJ._6
486- let ck = cJ._7
487- let bO = cJ._8
488- let bP = cJ._9
489- let bR = cJ._10
490- let bB = [if ((bW > 0))
455+ let cC = bt(K, bh, bu, cp[aL])
456+ let bO = cC._1
457+ let bM = cC._2
458+ let bN = cC._3
459+ let bv = cC._4
460+ let bP = cC._5
461+ let ca = cC._6
462+ let cb = cC._7
463+ let bF = cC._8
464+ let bG = cC._9
465+ let bI = cC._10
466+ let bs = [if ((bN > 0))
491467 then true
492- else f("unavailable to claim because user period allowance reached"), if ((bV > 0))
468+ else f("unavailable to claim because user period allowance reached"), if ((bM > 0))
493469 then true
494- else f("unavailable to claim because total period allowance reached"), if ((bX > 0))
470+ else f("unavailable to claim because total period allowance reached"), if ((bO > 0))
495471 then true
496- else f("nothing to claim"), if ((bY > cj))
472+ else f("nothing to claim"), if ((bP > ca))
497473 then true
498474 else f("unavailable to claim because usdn price lower than usdtPriceAssetAllowableRatio")]
499- if ((bB == bB))
475+ if ((bs == bs))
500476 then {
501- let cK = (bV - bX)
502- let cL = (bW - bX)
503- let bf = if ((aX > bX))
504- then [ScriptTransfer(cp.caller, bX, cG), IntegerEntry(aD(bq), (aX - bX))]
477+ let cD = (bM - bO)
478+ let cE = (bN - bO)
479+ let cB = if ((aR >= bO))
480+ then [ScriptTransfer(ch.caller, bO, cy), IntegerEntry(az(bh), (aR - bO))]
505481 else {
506- let cM = split(h(invoke(this, "claimREADONLY", [O, bq], nil)), c)
507- if ((cM == cM))
508- then {
509- let cN = parseIntValue(cM[3])
510- let cO = if ((cN == bX))
511- then {
512- let cP = parseIntValue(br[T])
513- let cQ = parseIntValue(br[U])
514- let cR = parseIntValue(br[V])
515- let cS = parseIntValue(br[W])
516- let cT = parseIntValue(br[X])
517- let cU = [toString(cP), "0", toString(cR), toString(cS), toString(cT)]
518- let cV = aM()
519- let cW = parseIntValue(cV[T])
520- let cX = parseIntValue(cV[U])
521- let cY = parseIntValue(cV[U])
522- let cZ = parseIntValue(cV[V])
523- let da = parseIntValue(cV[X])
524- let db = (cX - cQ)
525- let dc = [toString(cW), toString(db), toString(cY), toString(cZ), toString(da)]
526- let dd = (valueOrElse(getInteger(aG()), 0) + cQ)
527-[StringEntry(aF(bq), toString(cQ)), StringEntry(aG(), toString(dd)), aT(ai(bq), cU, cx, bv, 0), aT(ak(), dc, cx, bv, 0)]
528- }
529- else [aT(ai(bq), br, cx, bv, 0), aT(ak(), aM(), cx, bv, 0)]
530- let de = ((aX + bD) - bX)
531- ([ScriptTransfer(cp.caller, bX, cG), IntegerEntry(aD(bq), de)] ++ cO)
532- }
533- else throw("Strict value is not equal to itself.")
482+ let cF = ((aR + bu) - bO)
483+[ScriptTransfer(ch.caller, bO, cy), aN(ae(bh), bi, cp, bm, 0), aN(ag(), aG(), cp, bm, 0), IntegerEntry(az(bh), cF)]
534484 }
535- $Tuple2(([IntegerEntry(ar(), bO), IntegerEntry(as(bO), bP), IntegerEntry(au(bO), bR), IntegerEntry(az(O, bO), cK), IntegerEntry(aA(O, bO, bq), cL), bk(bq, bX, cI, cp.transactionId)] ++ bf), unit)
485+ $Tuple2(([IntegerEntry(an(), bF), IntegerEntry(ao(bF), bG), IntegerEntry(aq(bF), bI), IntegerEntry(av(K, bF), cD), IntegerEntry(aw(K, bF, bh), cE), bb(bh, bO, cA, ch.transactionId)] ++ cB), unit)
536486 }
537487 else throw("Strict value is not equal to itself.")
538488 }
539489 else {
540- let df = fraction(aX, e, pow(10, 0, bb, 0, 0, DOWN))
541- $Tuple2([ScriptTransfer(cp.caller, (bD + df), cG), IntegerEntry(aD(bq), 0), aT(ai(bq), br, cx, bv, aX), aT(ak(), aM(), cx, bv, aX), bk(bq, cH, (cI + df), cp.transactionId)], unit)
490+ let cG = fraction(aR, e, pow(10, 0, aV, 0, 0, DOWN))
491+ $Tuple2([ScriptTransfer(ch.caller, (bu + cG), cy), IntegerEntry(az(bh), 0), aN(ae(bh), bi, cp, bm, aR), aN(ag(), aG(), cp, bm, aR), bb(bh, cz, (cA + cG), ch.transactionId)], unit)
542492 }
543- bf
493+ cB
544494 }
545495 }
546496
547497
548498
549-@Callable(cp)
550-func claimREADONLY (bm,bq) = {
551- let cF = bl(bm, addressFromStringValue(bq), fromBase58String(""))
552- let cx = cF._1
553- let bD = cF._2
554- let cG = cF._3
555- let br = cF._4
556- let bv = cF._5
557- let dg = cF._6
558- let cN = dg[0]
559- let dh = dg[1]
560- $Tuple2(nil, makeString(["%s%d%d", bq, toString(cN), toString(dh)], c))
499+@Callable(ch)
500+func claimREADONLY (bd,bh) = {
501+ let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
502+ let cp = cx._1
503+ let bu = cx._2
504+ let cy = cx._3
505+ let bi = cx._4
506+ let bm = cx._5
507+ let cH = cx._6
508+ let cI = cH[0]
509+ let cJ = cH[1]
510+ $Tuple2(nil, makeString(["%s%d%d", bh, toString(cI), toString(cJ)], c))
561511 }
562512
563513
564514
565-@Callable(cp)
566-func claimV2READONLY (bm,bq) = {
567- let cF = bl(bm, addressFromStringValue(bq), fromBase58String(""))
568- let cx = cF._1
569- let bD = cF._2
570- let cG = cF._3
571- let br = cF._4
572- let bv = cF._5
573- let dg = cF._6
574- let cN = dg[0]
575- let dh = dg[1]
576- let ba = aJ()
577- let O = ba[D]
578- let aX = valueOrElse(getInteger(aD(bq)), 0)
579- let df = (aX * 100)
580- let di = (dh + df)
581- let dj = bC(O, bq, bD, cx[aR])
582- let bX = dj._1
583- let bV = dj._2
584- let bW = dj._3
585- let bE = dj._4
586- let bY = dj._5
587- let cj = dj._6
588- let ck = dj._7
589- let bO = dj._8
590- let bP = dj._9
591- let bR = dj._10
592- let dk = valueOrElse(getInteger(au(bO)), 0)
593- let dl = (parseIntValue(aO(bq)[V]) - aX)
594- let dm = if ((height > dk))
515+@Callable(ch)
516+func claimV2READONLY (bd,bh) = {
517+ let cx = bc(bd, addressFromStringValue(bh), fromBase58String(""))
518+ let cp = cx._1
519+ let bu = cx._2
520+ let cy = cx._3
521+ let bi = cx._4
522+ let bm = cx._5
523+ let cH = cx._6
524+ let cI = cH[0]
525+ let cJ = cH[1]
526+ let aU = aD()
527+ let K = aU[z]
528+ let aR = valueOrElse(getInteger(az(bh)), 0)
529+ let cG = (aR * 100)
530+ let cK = (cJ + cG)
531+ let cL = bt(K, bh, bu, cp[aL])
532+ let bO = cL._1
533+ let bM = cL._2
534+ let bN = cL._3
535+ let bv = cL._4
536+ let bP = cL._5
537+ let ca = cL._6
538+ let cb = cL._7
539+ let bF = cL._8
540+ let bG = cL._9
541+ let bI = cL._10
542+ let cM = valueOrElse(getInteger(aq(bF)), 0)
543+ let cN = (parseIntValue(aI(bh)[R]) - aR)
544+ let cO = if ((height > cM))
595545 then {
596- let dn = value(getInteger(aq()))
597- let do = value(getInteger(ay(O)))
598- let dp = value(getInteger(aw(O)))
599- makeString(["%d%d%d%d%d%d", toString(di), toString(do), toString(dp), toString(bY), toString(cj), toString(dn), toString(dl)], c)
546+ let cP = value(getInteger(am()))
547+ let cQ = value(getInteger(au(K)))
548+ let cR = value(getInteger(as(K)))
549+ makeString(["%d%d%d%d%d%d", toString(cK), toString(cQ), toString(cR), toString(bP), toString(ca), toString(cP), toString(cN)], c)
600550 }
601- else makeString(["%d%d%d%d%d%d", toString(di), toString(bX), toString(bV), toString(bY), toString(cj), toString(ck), toString(dl)], c)
602- $Tuple2(nil, dm)
551+ else makeString(["%d%d%d%d%d%d", toString(cK), toString(bO), toString(bM), toString(bP), toString(ca), toString(cb), toString(cN)], c)
552+ $Tuple2(nil, cO)
603553 }
604554
605555
606556
607-@Callable(cp)
608-func setManager (dq) = {
609- let dr = co(cp)
610- if ((dr == dr))
557+@Callable(ch)
558+func setManager (cS) = {
559+ let cT = cg(ch)
560+ if ((cT == cT))
611561 then {
612- let ds = fromBase58String(dq)
613- if ((ds == ds))
614- then [StringEntry(aI(), dq)]
562+ let cU = fromBase58String(cS)
563+ if ((cU == cU))
564+ then [StringEntry(aC(), cS)]
615565 else throw("Strict value is not equal to itself.")
616566 }
617567 else throw("Strict value is not equal to itself.")
618568 }
619569
620570
621571
622-@Callable(cp)
572+@Callable(ch)
623573 func confirmManager () = {
624- let dt = cn()
625- let du = if (isDefined(dt))
574+ let cV = cf()
575+ let cW = if (isDefined(cV))
626576 then true
627577 else throw("No pending manager")
628- if ((du == du))
578+ if ((cW == cW))
629579 then {
630- let dv = if ((cp.callerPublicKey == value(dt)))
580+ let cX = if ((ch.callerPublicKey == value(cV)))
631581 then true
632582 else throw("You are not pending manager")
633- if ((dv == dv))
634- then [StringEntry(aH(), toBase58String(value(dt))), DeleteEntry(aI())]
583+ if ((cX == cX))
584+ then [StringEntry(aB(), toBase58String(value(cV))), DeleteEntry(aC())]
635585 else throw("Strict value is not equal to itself.")
636586 }
637587 else throw("Strict value is not equal to itself.")
638588 }
639589
640590
641-@Verifier(dw)
642-func dx () = {
643- let dy = {
644- let j = cl()
645- if ($isInstanceOf(j, "ByteVector"))
591+@Verifier(cY)
592+func cZ () = {
593+ let da = {
594+ let cd = cc()
595+ if ($isInstanceOf(cd, "ByteVector"))
646596 then {
647- let cr = j
648- cr
597+ let cj = cd
598+ cj
649599 }
650- else if ($isInstanceOf(j, "Unit"))
651- then dw.senderPublicKey
600+ else if ($isInstanceOf(cd, "Unit"))
601+ then cY.senderPublicKey
652602 else throw("Match error")
653603 }
654- sigVerify(dw.bodyBytes, dw.proofs[0], dy)
604+ sigVerify(cY.bodyBytes, cY.proofs[0], da)
655605 }
656606

github/deemru/w8io/169f3d6 
190.17 ms