tx · 8voyBbNK7N3SXNsZfMDzyc3ZT5iv2anF3FjWUotpeGYU

3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt:  -0.01700000 Waves

2022.11.01 13:52 [2297955] smart account 3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt > SELF 0.00000000 Waves

{ "type": 13, "id": "8voyBbNK7N3SXNsZfMDzyc3ZT5iv2anF3FjWUotpeGYU", "fee": 1700000, "feeAssetId": null, "timestamp": 1667299960890, "version": 1, "sender": "3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt", "senderPublicKey": "5195SwZ4ifX6bBstZ6tN31kEQFVHaKpFYLc1GCa3Myrh", "proofs": [ "ExAoTQaLV4MiUiRFSC5QkzjBVXi3ErXK2p4TWSWG3mfPWo6mooJXgVUuVZZM5Cykasqom9w7EWwFmDbE167cWxC" ], "script": "base64:AAIFAAAAAAAACcYIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgSAwoBCBIAIg9nZXRTdHJpbmdPckZhaWwiA2tleSIDU0VQIghCVUZTQ0FMRSIdY29udmVydFByaWNlQXNzZXRJbnRvSWRvQXNzZXQiEHByaWNlQXNzZXRBbW91bnQiDnByaWNlQXNzZXRNVUxUIgVwcmljZSIJcHJpY2VNVUxUIgxpZG9Bc3NldE1VTFQiD2JQcmljZUFzc2V0TVVMVCINYklkb0Fzc2V0TVVMVCIOYlByaWNlQXNzZXRCVUYiD2JBbW91bnRBc3NldEJVRiIOSWR4Q2ZnSWRvU3RhcnQiEUlkeENmZ0lkb0R1cmF0aW9uIhBJZHhDZmdDbGFpbVN0YXJ0IhNJZHhDZmdDbGFpbUR1cmF0aW9uIgtJZHhDZmdQcmljZSIPSWR4Q2ZnUHJpY2VNdWx0IhBJZHhDZmdJZG9Bc3NldElkIhJJZHhDZmdJZG9Bc3NldE11bHQiEklkeENmZ1ByaWNlQXNzZXRJZCIUSWR4Q2ZnUHJpY2VBc3NldE11bHQiFUlkeENmZ01pbkludmVzdEFtb3VudCINZnJvbWF0Q29uZmlnUyIIaWRvU3RhcnQiC2lkb0R1cmF0aW9uIgpjbGFpbVN0YXJ0Ig1jbGFpbUR1cmF0aW9uIglwcmljZU11bHQiDGlkb0Fzc2V0SWQ1OCIMaWRvQXNzZXRNdWx0Ig5wcmljZUFzc2V0SWQ1OCIOcHJpY2VBc3NldE11bHQiD21pbkludmVzdEFtb3VudCITdG90YWxJZG9Bc3NldFRvU2VsbCIMZnJvbWF0Q29uZmlnIhFJZHhJbnZUb3RhbEFtb3VudCIVSWR4SW52UmVtYWluaW5nQW1vdW50Ih1JZHhJbnZDbGFpbWVkUHJpY2VBc3NldEFtb3VudCIbSWR4SW52Q2xhaW1lZElkb0Fzc2V0QW1vdW50IhdJZHhJbnZMYXN0Q2xhaW1lZEhlaWdodCIPZm9ybWF0SW52ZXN0b3JTIgt0b3RhbEFtb3VudCIPcmVtYWluaW5nQW1vdW50IhdjbGFpbWVkUHJpY2VBc3NldEFtb3VudCIVY2xhaW1lZElkb0Fzc2V0QW1vdW50IhFsYXN0Q2xhaW1lZEhlaWdodCIOZm9ybWF0SW52ZXN0b3IiE2Zvcm1hdEhpc3RvcnlSZWNvcmQiDmlkb0Fzc2V0QW1vdW50IglrZXlDb25maWciC2tleUludmVzdG9yIgt1c2VyQWRkcmVzcyIJa2V5VG90YWxzIhlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkIgR0eXBlIgZ0eElkNTgiFGtleVVTRE5DbGFpbURpc2FibGVkIhVrZXlVU0ROQ2xhaW1FbmRIZWlnaHQiE2tleU1hbmFnZXJQdWJsaWNLZXkiGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5Ig9yZWFkQ29uZmlnQXJyYXkiI3JlYWRUb3RhbHNBcnJheU9yRGVmYXVsdEJ5Q3VzdG9tS2V5IgljdXN0b21LZXkiGHJlYWRUb3RhbHNBcnJheU9yRGVmYXVsdCIacmVhZEludmVzdG9yQXJyYXlPckRlZmF1bHQiF3JlYWRJbnZlc3RvckFycmF5T3JGYWlsIhVJZHhEaWZmVG90YWxJbmNyZW1lbnQiJElkeERpZmZSZW1haW5pbmdQcmljZUFtb3VudEluY3JlbWVudCIiSWR4RGlmZkNsYWltZWRQcmljZUFtb3VudEluY3JlbWVudCIlSWR4RGlmZkNsYWltZWRJZG9Bc3NldEFtb3VudEluY3JlbWVudCILVG90YWxzRW50cnkiCW9yaWdBcnJheSINaW5jcmVtZW50RGlmZiIUbmV3TGFzdENsYWltZWRIZWlnaHQiDm5ld1RvdGFsQW1vdW50IhJuZXdSZW1haW5pbmdBbW91bnQiGm5ld0NsYWltZWRQcmljZUFzc2V0QW1vdW50IhhuZXdDbGFpbWVkSWRvQXNzZXRBbW91bnQiG0ludmVzdE9wZXJhdGlvbkhpc3RvcnlFbnRyeSIEdHhJZCIaQ2xhaW1PcGVyYXRpb25IaXN0b3J5RW50cnkiDWludGVybmFsQ2xhaW0iEGNsYWltZWRBc3NldElkNTgiCGNmZ0FycmF5IghjbGFpbUVuZCIKaWRvQXNzZXRJZCIMcHJpY2VBc3NldElkIg11c2VyQWRkcmVzczU4Ig9vcmlnSW52ZXN0QXJyYXkiEWludmVzdFRvdGFsQW1vdW50IhppbnZlc3RMYXN0Q2xhaW1lZEhlaWdodFRNUCIXaW52ZXN0TGFzdENsYWltZWRIZWlnaHQiFG5ld0NsYWltUGVyaW9kSGVpZ2h0Ig5jbGFpbWluZ0Jsb2NrcyIYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50IhZjbGFpbWluZ0lkb0Fzc2V0QW1vdW50IgZpc1VTRE4iE2lzVVNETkNsYWltRGlzYWJsZWQiEGlzVVNETkNsYWltRW5kZWQiByRtYXRjaDAiA2VuZCIGY2hlY2tzIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIGaWRvRW5kIgNwbXQiDGlkb0Fzc2V0SW5mbyIOcHJpY2VBc3NldEluZm8iD29yaWdUb3RhbHNBcnJheSIKdG90YWxzRGlmZiIObWluSXZlc3RBbW91bnQiCnBtdEFzc2V0SWQiCXBtdEFtb3VudCIRb3JpZ0ludmVzdG9yQXJyYXkiE25ld1ByaWNlVG90YWxBbW91bnQiFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQiD2NhbGxlckFkZHJlc3M1OCIQY2xhaW1SZXN1bHRUdXBsZSIJb3V0QW1vdW50IgpvdXRBc3NldElkIhpjbGFpbWVkUHJpY2VBbW91bnRGcm9tRGlmZiIdY2xhaW1lZElkb0Fzc2V0QW1vdW50RnJvbURpZmYiFWF2YWlsYWJsZVRvQ2xhaW1BcnJheSIbYXZhaWxhYmxlUHJpY2VBbW91bnRUb0NsYWltIhlhdmFpbGFibGVJZG9BbW91bnRUb0NsYWltIhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSILY2hlY2tDYWxsZXIiFWNoZWNrTWFuYWdlclB1YmxpY0tleSICcG0iBWhhc1BNIgdjaGVja1BNIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXkAAAAxAQAAAAFhAAAAAQAAAAFiCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQUAAAABYgkAASwAAAACCQABLAAAAAICAAAAD21hbmRhdG9yeSB0aGlzLgUAAAABYgIAAAAPIGlzIG5vdCBkZWZpbmVkAAAAAAFjAgAAAAJfXwAAAAABZAkAATYAAAABAA3gtrOnZAAAAQAAAAFlAAAABQAAAAFmAAAAAWcAAAABaAAA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", "chainId": 84, "height": 2297955, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dx59e7chuVgNVHMbed79qyNQdbsx8fVBcuauCWPRKtFf Next: 7gHMLYbhBDXWsBx1p7fyP3bo9ytWYAeUxnFAT4MLdzym Diff:
OldNewDifferences
88
99 let d = toBigInt(1000000000000000000)
1010
11-func e (f) = throw(makeString(["ido.ride:", f], " "))
12-
13-
14-func g (h,i,j,k,l) = {
15- let m = toBigInt(i)
16- let n = toBigInt(l)
17- let o = fraction(toBigInt(h), d, m)
18- let p = fraction(o, toBigInt(k), toBigInt(j))
19- toInt(fraction(p, toBigInt(l), d))
11+func e (f,g,h,i,j) = {
12+ let k = toBigInt(g)
13+ let l = toBigInt(j)
14+ let m = fraction(toBigInt(f), d, k)
15+ let n = fraction(m, toBigInt(i), toBigInt(h))
16+ toInt(fraction(n, toBigInt(j), d))
2017 }
2118
2219
23-let q = 1
20+let o = 1
2421
25-let r = 2
22+let p = 2
2623
27-let s = 3
24+let q = 3
2825
29-let t = 4
26+let r = 4
3027
31-let u = 5
28+let s = 5
3229
33-let v = 6
30+let t = 6
3431
35-let w = 7
32+let u = 7
3633
37-let x = 8
34+let v = 8
3835
39-let y = 9
36+let w = 9
4037
41-let z = 10
38+let x = 10
4239
43-let A = 11
40+let y = 11
4441
45-func B (C,D,E,F,j,G,H,I,J,K,L,M) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", C, D, E, F, j, G, H, I, J, K, L, M], c)
42+func z (A,B,C,D,h,E,F,G,H,I,J,K) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", A, B, C, D, h, E, F, G, H, I, J, K], c)
4643
4744
48-func N (C,D,E,F,j,G,H,I,J,K,L,M) = B(toString(C), toString(D), toString(E), toString(F), toString(j), toString(G), H, toString(I), J, toString(K), toString(L), toString(M))
45+func L (A,B,C,D,h,E,F,G,H,I,J,K) = z(toString(A), toString(B), toString(C), toString(D), toString(h), toString(E), F, toString(G), H, toString(I), toString(J), toString(K))
4946
5047
51-let O = 1
48+let M = 1
5249
53-let P = 2
50+let N = 2
5451
55-let Q = 3
52+let O = 3
5653
57-let R = 4
54+let P = 4
5855
59-let S = 5
56+let Q = 5
6057
61-func T (U,V,W,X,Y) = makeString(["%d%d%d%d%d", U, V, W, X, Y], c)
58+func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
6259
6360
64-func Z (U,V,W,X,Y) = T(toString(U), toString(V), toString(W), toString(X), toString(Y))
61+func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
6562
6663
67-func aa (h,ab) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(h), toString(ab)], c)
64+func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
6865
6966
70-func ac () = "%s__config"
67+func aa () = "%s__config"
7168
7269
73-func ad (ae) = ("%s__" + ae)
70+func ab (ac) = ("%s__" + ac)
7471
7572
76-func af () = "%s__totals"
73+func ad () = "%s__totals"
7774
7875
79-func ag (ah,ae,ai) = makeString(["%s%s%s%s__history", ah, ae, ai], c)
76+func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
8077
8178
82-func aj () = "%s__usdnClaimDisabled"
79+func ah () = "%s__usdnClaimDisabled"
8380
8481
85-func ak () = "%s__usdnClaimEndHeight"
82+func ai () = "%s__usdnClaimEndHeight"
8683
8784
88-func al () = makeString(["%s", "periodLength"], c)
85+func aj () = "%s__managerPublicKey"
8986
9087
91-func am () = makeString(["%s", "currentPeriod"], c)
88+func ak () = "%s__pendingManagerPublicKey"
9289
9390
94-func an (ao) = makeString(["%s%s", "periodStartHeight", toString(ao)], c)
91+func al () = split(a(aa()), c)
9592
9693
97-func ap (ao) = makeString(["%s%s", "periodEndHeight", toString(ao)], c)
94+func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
9895
9996
100-func aq () = makeString(["%s", "usdtUsdnRatio"], c)
97+func ao () = am(ad())
10198
10299
103-func ar (as) = makeString(["%s%s", "totalPeriodAllowance", as], c)
100+func ap (ac) = am(ab(ac))
104101
105102
106-func at (as) = makeString(["%s%s", "userPeriodAllowance", as], c)
103+func aq (ac) = split(a(ab(ac)), c)
107104
108105
109-func au (as,ao) = makeString(["%s%s%s", "periodTotalAvailableToClaim", as, toString(ao)], c)
106+let ar = 0
110107
108+let as = 1
111109
112-func av (as,ao,ae) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", as, toString(ao), ae], c)
110+let at = 2
113111
112+let au = 3
114113
115-func aw () = "%s__managerPublicKey"
116-
117-
118-func ax () = "%s__pendingManagerPublicKey"
119-
120-
121-func ay () = split(a(ac()), c)
122-
123-
124-func az (aA) = split(valueOrElse(getString(aA), T("0", "0", "0", "0", "0")), c)
125-
126-
127-func aB () = az(af())
128-
129-
130-func aC (ae) = az(ad(ae))
131-
132-
133-func aD (ae) = split(a(ad(ae)), c)
134-
135-
136-let aE = 0
137-
138-let aF = 1
139-
140-let aG = 2
141-
142-let aH = 3
143-
144-func aI (b,aJ,aK,aL) = {
145- let U = parseIntValue(aJ[O])
146- let V = parseIntValue(aJ[P])
147- let W = parseIntValue(aJ[Q])
148- let X = parseIntValue(aJ[R])
149- let Y = parseIntValue(aJ[S])
150- let aM = (U + aK[aE])
151- let aN = (V + aK[aF])
152- let aO = (W + aK[aG])
153- let aP = (X + aK[aH])
154- if ((0 > aN))
114+func av (b,aw,ax,ay) = {
115+ let S = parseIntValue(aw[M])
116+ let T = parseIntValue(aw[N])
117+ let U = parseIntValue(aw[O])
118+ let V = parseIntValue(aw[P])
119+ let W = parseIntValue(aw[Q])
120+ let az = (S + ax[ar])
121+ let aA = (T + ax[as])
122+ let aB = (U + ax[at])
123+ let aC = (V + ax[au])
124+ if ((0 > aA))
155125 then throw("invalid math")
156- else StringEntry(b, Z(aM, aN, aO, aP, aL))
126+ else StringEntry(b, X(az, aA, aB, aC, ay))
157127 }
158128
159129
160-func aQ (ae,h,ab,aR) = StringEntry(ag("invest", ae, toBase58String(aR)), aa(h, ab))
130+func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
161131
162132
163-func aS (ae,h,ab,aR) = StringEntry(ag("claim", ae, toBase58String(aR)), aa(h, ab))
133+func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
164134
165135
166-func aT (aU,ae,aR) = {
167- let aV = ay()
168- let E = parseIntValue(aV[s])
169- let F = parseIntValue(aV[t])
170- let aW = (E + F)
171- let j = parseIntValue(aV[u])
172- let G = parseIntValue(aV[v])
173- let H = aV[w]
174- let aX = fromBase58String(H)
175- let I = parseIntValue(aV[x])
176- let J = aV[y]
177- let aY = fromBase58String(J)
178- let K = parseIntValue(aV[z])
179- let aZ = toString(ae)
180- let ba = aD(aZ)
181- let bb = parseIntValue(ba[O])
182- let bc = parseIntValue(ba[S])
183- let bd = if ((E >= bc))
184- then E
185- else bc
186- let be = if ((height > aW))
187- then aW
188- else if ((E > height))
189- then E
136+func aG (aH,ac,aE) = {
137+ let aI = al()
138+ let C = parseIntValue(aI[q])
139+ let D = parseIntValue(aI[r])
140+ let aJ = (C + D)
141+ let h = parseIntValue(aI[s])
142+ let E = parseIntValue(aI[t])
143+ let F = aI[u]
144+ let aK = fromBase58String(F)
145+ let G = parseIntValue(aI[v])
146+ let H = aI[w]
147+ let aL = fromBase58String(H)
148+ let I = parseIntValue(aI[x])
149+ let aM = toString(ac)
150+ let aN = aq(aM)
151+ let aO = parseIntValue(aN[M])
152+ let aP = parseIntValue(aN[Q])
153+ let aQ = if ((C >= aP))
154+ then C
155+ else aP
156+ let aR = if ((height > aJ))
157+ then aJ
158+ else if ((C > height))
159+ then C
190160 else height
191- let bf = (be - bd)
192- let bg = fraction(bb, bf, F)
193- let bh = g(bg, K, j, G, I)
194- let bi = (aU == J)
195- let bj = valueOrElse(getBoolean(aj()), false)
196- let bk = {
197- let bl = getInteger(ak())
198- if ($isInstanceOf(bl, "Int"))
161+ let aS = (aR - aQ)
162+ let aT = fraction(aO, aS, D)
163+ let aU = e(aT, I, h, E, G)
164+ let aV = (aH == H)
165+ let aW = valueOrElse(getBoolean(ah()), false)
166+ let aX = {
167+ let aY = getInteger(ai())
168+ if ($isInstanceOf(aY, "Int"))
199169 then {
200- let bm = bl
201- (height > bm)
170+ let aZ = aY
171+ (height > aZ)
202172 }
203- else if ($isInstanceOf(bl, "Unit"))
173+ else if ($isInstanceOf(aY, "Unit"))
204174 then false
205175 else throw("Match error")
206176 }
207- let bn = [if (!(if (bi)
208- then bj
177+ let ba = [if (!(if (aV)
178+ then aW
209179 else false))
210180 then true
211- else e("USDN claim is disabled"), if (!(if (bi)
212- then bk
181+ else throw("USDN claim is disabled"), if (!(if (aV)
182+ then aX
213183 else false))
214184 then true
215- else e("USDN claim is ended")]
216- if ((bn == bn))
217- then {
218- let bo = value(getInteger(ar(J)))
219- let bp = value(getInteger(at(J)))
220- let bq = valueOrElse(getInteger(am()), 0)
221- let br = valueOrElse(getInteger(au(J, bq)), bo)
222- let bs = valueOrElse(getInteger(av(J, bq, aZ)), bp)
223- let bt = min([bg, br, bs])
224- if ((aU == J))
225- then $Tuple6([0, -(bt), bt, 0], bt, aY, ba, be, [bt, bh, br])
226- else if ((aU == H))
227- then $Tuple6([0, -(bt), 0, bt], bh, aX, ba, be, [bt, bh, br])
228- else e(makeString(["unsupported assetId:", aU], " "))
229- }
185+ else throw("USDN claim is ended")]
186+ if ((ba == ba))
187+ then if ((aH == H))
188+ then $Tuple6([0, -(aT), aT, 0], aT, aL, aN, aR, [aT, aU])
189+ else if ((aH == F))
190+ then $Tuple6([0, -(aT), 0, aU], aU, aK, aN, aR, [aT, aU])
191+ else throw(("unsupported assetId: " + aH))
230192 else throw("Strict value is not equal to itself.")
231193 }
232194
233195
234-func bu () = {
235- let bl = getString(aw())
236- if ($isInstanceOf(bl, "String"))
196+func bb () = {
197+ let aY = getString(aj())
198+ if ($isInstanceOf(aY, "String"))
237199 then {
238- let bv = bl
239- fromBase58String(bv)
200+ let bc = aY
201+ fromBase58String(bc)
240202 }
241- else if ($isInstanceOf(bl, "Unit"))
203+ else if ($isInstanceOf(aY, "Unit"))
242204 then unit
243205 else throw("Match error")
244206 }
245207
246208
247-func bw () = {
248- let bl = getString(ax())
249- if ($isInstanceOf(bl, "String"))
209+func bd () = {
210+ let aY = getString(ak())
211+ if ($isInstanceOf(aY, "String"))
250212 then {
251- let bv = bl
252- fromBase58String(bv)
213+ let bc = aY
214+ fromBase58String(bc)
253215 }
254- else if ($isInstanceOf(bl, "Unit"))
216+ else if ($isInstanceOf(aY, "Unit"))
255217 then unit
256218 else throw("Match error")
257219 }
258220
259221
260-func bx (by) = {
261- let bz = throw("Permission denied")
262- let bl = bu()
263- if ($isInstanceOf(bl, "ByteVector"))
222+func be (bf) = {
223+ let bg = throw("Permission denied")
224+ let aY = bb()
225+ if ($isInstanceOf(aY, "ByteVector"))
264226 then {
265- let bA = bl
266- if ((by.callerPublicKey == bA))
227+ let bh = aY
228+ if ((bf.callerPublicKey == bh))
267229 then true
268- else bz
230+ else bg
269231 }
270- else if ($isInstanceOf(bl, "Unit"))
271- then if ((by.caller == this))
232+ else if ($isInstanceOf(aY, "Unit"))
233+ then if ((bf.caller == this))
272234 then true
273- else bz
235+ else bg
274236 else throw("Match error")
275237 }
276238
277239
278-@Callable(by)
279-func constructor (C,D,E,F,j,J,L) = {
280- let G = ((100 * 1000) * 1000)
281- let bB = (C + D)
282- if (isDefined(getString(ac())))
240+@Callable(bf)
241+func constructor (A,B,C,D,h,H,J) = {
242+ let E = ((100 * 1000) * 1000)
243+ let bi = (A + B)
244+ if (isDefined(getString(aa())))
283245 then throw("already initialized")
284- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(by.caller)))
246+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bf.caller)))
285247 then throw("not authorized")
286- else if ((size(by.payments) != 1))
248+ else if ((size(bf.payments) != 1))
287249 then throw("exactly 1 payment must be attached")
288- else if ((bB >= E))
250+ else if ((bi >= C))
289251 then throw("claimStart must be greater than idoEnd")
290252 else {
291- let bC = value(by.payments[0])
292- let aX = value(bC.assetId)
293- let bD = valueOrErrorMessage(assetInfo(aX), "fail to load ido asset info")
294- let H = toBase58String(aX)
295- let I = pow(10, 0, bD.decimals, 0, 0, DOWN)
296- let aY = fromBase58String(J)
297- let bE = valueOrErrorMessage(assetInfo(aY), "fail to load price asset info")
298- let K = pow(10, 0, bE.decimals, 0, 0, DOWN)
299- let bF = aB()
300- let bG = [0, 0, 0, 0]
301-[StringEntry(ac(), N(C, D, E, F, j, G, H, I, J, K, L, bC.amount)), aI(af(), bF, bG, E)]
253+ let bj = value(bf.payments[0])
254+ let aK = value(bj.assetId)
255+ let bk = valueOrErrorMessage(assetInfo(aK), "fail to load ido asset info")
256+ let F = toBase58String(aK)
257+ let G = pow(10, 0, bk.decimals, 0, 0, DOWN)
258+ let aL = fromBase58String(H)
259+ let bl = valueOrErrorMessage(assetInfo(aL), "fail to load price asset info")
260+ let I = pow(10, 0, bl.decimals, 0, 0, DOWN)
261+ let bm = ao()
262+ let bn = [0, 0, 0, 0]
263+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, bj.amount)), av(ad(), bm, bn, C)]
302264 }
303265 }
304266
305267
306268
307-@Callable(by)
269+@Callable(bf)
308270 func invest () = {
309- let aV = ay()
310- let C = parseIntValue(aV[q])
311- let D = parseIntValue(aV[r])
312- let bB = (C + D)
313- let E = parseIntValue(aV[s])
314- let F = parseIntValue(aV[t])
315- let j = parseIntValue(aV[u])
316- let G = parseIntValue(aV[v])
317- let H = aV[w]
318- let aX = fromBase58String(H)
319- let I = parseIntValue(aV[x])
320- let J = aV[y]
321- let aY = fromBase58String(J)
322- let K = parseIntValue(aV[z])
323- let bH = parseIntValue(aV[A])
324- let ae = toString(by.caller)
325- if ((C > height))
271+ let aI = al()
272+ let A = parseIntValue(aI[o])
273+ let B = parseIntValue(aI[p])
274+ let bi = (A + B)
275+ let C = parseIntValue(aI[q])
276+ let D = parseIntValue(aI[r])
277+ let h = parseIntValue(aI[s])
278+ let E = parseIntValue(aI[t])
279+ let F = aI[u]
280+ let aK = fromBase58String(F)
281+ let G = parseIntValue(aI[v])
282+ let H = aI[w]
283+ let aL = fromBase58String(H)
284+ let I = parseIntValue(aI[x])
285+ let bo = parseIntValue(aI[y])
286+ let ac = toString(bf.caller)
287+ if ((A > height))
326288 then throw("ido has not been started yet")
327- else if ((height > bB))
289+ else if ((height > bi))
328290 then throw("ido has been already ended")
329- else if ((size(by.payments) != 1))
291+ else if ((size(bf.payments) != 1))
330292 then throw("exactly 1 payment is expected")
331293 else {
332- let bC = value(by.payments[0])
333- let bI = value(bC.assetId)
334- let bJ = bC.amount
335- if ((bI != aY))
336- then throw((("invalid payment asset id: " + toBase58String(bI)) + " is expected"))
294+ let bj = value(bf.payments[0])
295+ let bp = value(bj.assetId)
296+ let bq = bj.amount
297+ if ((bp != aL))
298+ then throw((("invalid payment asset id: " + toBase58String(bp)) + " is expected"))
337299 else {
338- let bK = aC(ae)
339- let bF = aB()
340- let bL = (parseIntValue(bF[O]) + bJ)
341- let bM = (bL * 100)
342- if ((bM > assetBalance(this, aX)))
300+ let br = ap(ac)
301+ let bm = ao()
302+ let bs = (parseIntValue(bm[M]) + bq)
303+ let bt = (bs * 100)
304+ if ((bt > assetBalance(this, aK)))
343305 then throw("IDO asset has been - sold consider to use smaller payment")
344306 else {
345- let bG = [bJ, bJ, 0, 0]
346-[aI(ad(ae), bK, bG, E), aI(af(), bF, bG, E), aQ(ae, bJ, 0, by.transactionId)]
307+ let bn = [bq, bq, 0, 0]
308+[av(ab(ac), br, bn, C), av(ad(), bm, bn, C), aD(ac, bq, 0, bf.transactionId)]
347309 }
348310 }
349311 }
351313
352314
353315
354-@Callable(by)
355-func claim (aU,aZ) = {
356- let bN = toString(by.caller)
357- if ((aZ != bN))
358- then e("not authorized")
316+@Callable(bf)
317+func claim (aH,aM) = {
318+ let bu = toString(bf.caller)
319+ if ((aM != bu))
320+ then throw("not authorized")
359321 else {
360- let bO = aT(aU, by.caller, by.transactionId)
361- let bG = bO._1
362- let bP = bO._2
363- let bQ = bO._3
364- let ba = bO._4
365- let be = bO._5
366- let bR = bG[aG]
367- let bS = bG[aH]
368- $Tuple2([ScriptTransfer(by.caller, bP, bQ), aI(ad(aZ), ba, bG, be), aI(af(), aB(), bG, be), aS(aZ, bR, bS, by.transactionId)], unit)
322+ let bv = aG(aH, bf.caller, bf.transactionId)
323+ let bn = bv._1
324+ let bw = bv._2
325+ let bx = bv._3
326+ let aN = bv._4
327+ let aR = bv._5
328+ let by = bn[at]
329+ let bz = bn[au]
330+ $Tuple2([ScriptTransfer(bf.caller, bw, bx), av(ab(aM), aN, bn, aR), av(ad(), ao(), bn, aR), aF(aM, by, bz, bf.transactionId)], unit)
369331 }
370332 }
371333
372334
373335
374-@Callable(by)
375-func claimREADONLY (aU,aZ) = {
376- let bO = aT(aU, addressFromStringValue(aZ), fromBase58String(""))
377- let bG = bO._1
378- let bP = bO._2
379- let bQ = bO._3
380- let ba = bO._4
381- let be = bO._5
382- let bT = bO._6
383- let bU = bT[0]
384- let bV = bT[1]
385- $Tuple2(nil, makeString(["%s%d%d", aZ, toString(bU), toString(bV)], c))
336+@Callable(bf)
337+func claimREADONLY (aH,aM) = {
338+ let bv = aG(aH, addressFromStringValue(aM), fromBase58String(""))
339+ let bn = bv._1
340+ let bw = bv._2
341+ let bx = bv._3
342+ let aN = bv._4
343+ let aR = bv._5
344+ let bA = bv._6
345+ let bB = bA[0]
346+ let bC = bA[1]
347+ $Tuple2(nil, makeString(["%s%d%d", aM, toString(bB), toString(bC)], c))
386348 }
387349
388350
389351
390-@Callable(by)
391-func claimV2READONLY (aU,aZ) = {
392- let bO = aT(aU, addressFromStringValue(aZ), fromBase58String(""))
393- let bG = bO._1
394- let bP = bO._2
395- let bQ = bO._3
396- let ba = bO._4
397- let be = bO._5
398- let bT = bO._6
399- let bW = makeString(["%d%d%d%d%d%d", "1000", "2000", "100000", "101000000", "100123456", "100"], c)
400- $Tuple2(nil, bW)
401- }
402-
403-
404-
405-@Callable(by)
406-func setManager (bX) = {
407- let bY = bx(by)
408- if ((bY == bY))
352+@Callable(bf)
353+func setManager (bD) = {
354+ let bE = be(bf)
355+ if ((bE == bE))
409356 then {
410- let bZ = fromBase58String(bX)
411- if ((bZ == bZ))
412- then [StringEntry(ax(), bX)]
357+ let bF = fromBase58String(bD)
358+ if ((bF == bF))
359+ then [StringEntry(ak(), bD)]
413360 else throw("Strict value is not equal to itself.")
414361 }
415362 else throw("Strict value is not equal to itself.")
417364
418365
419366
420-@Callable(by)
367+@Callable(bf)
421368 func confirmManager () = {
422- let ca = bw()
423- let cb = if (isDefined(ca))
369+ let bG = bd()
370+ let bH = if (isDefined(bG))
424371 then true
425372 else throw("No pending manager")
426- if ((cb == cb))
373+ if ((bH == bH))
427374 then {
428- let cc = if ((by.callerPublicKey == value(ca)))
375+ let bI = if ((bf.callerPublicKey == value(bG)))
429376 then true
430377 else throw("You are not pending manager")
431- if ((cc == cc))
432- then [StringEntry(aw(), toBase58String(value(ca))), DeleteEntry(ax())]
378+ if ((bI == bI))
379+ then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
433380 else throw("Strict value is not equal to itself.")
434381 }
435382 else throw("Strict value is not equal to itself.")
436383 }
437384
438385
439-@Verifier(cd)
440-func ce () = {
441- let cf = {
442- let bl = bu()
443- if ($isInstanceOf(bl, "ByteVector"))
386+@Verifier(bJ)
387+func bK () = {
388+ let bL = {
389+ let aY = bb()
390+ if ($isInstanceOf(aY, "ByteVector"))
444391 then {
445- let bA = bl
446- bA
392+ let bh = aY
393+ bh
447394 }
448- else if ($isInstanceOf(bl, "Unit"))
449- then cd.senderPublicKey
395+ else if ($isInstanceOf(aY, "Unit"))
396+ then bJ.senderPublicKey
450397 else throw("Match error")
451398 }
452- sigVerify(cd.bodyBytes, cd.proofs[0], cf)
399+ sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
453400 }
454401
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
55
66
77 let c = "__"
88
99 let d = toBigInt(1000000000000000000)
1010
11-func e (f) = throw(makeString(["ido.ride:", f], " "))
12-
13-
14-func g (h,i,j,k,l) = {
15- let m = toBigInt(i)
16- let n = toBigInt(l)
17- let o = fraction(toBigInt(h), d, m)
18- let p = fraction(o, toBigInt(k), toBigInt(j))
19- toInt(fraction(p, toBigInt(l), d))
11+func e (f,g,h,i,j) = {
12+ let k = toBigInt(g)
13+ let l = toBigInt(j)
14+ let m = fraction(toBigInt(f), d, k)
15+ let n = fraction(m, toBigInt(i), toBigInt(h))
16+ toInt(fraction(n, toBigInt(j), d))
2017 }
2118
2219
23-let q = 1
20+let o = 1
2421
25-let r = 2
22+let p = 2
2623
27-let s = 3
24+let q = 3
2825
29-let t = 4
26+let r = 4
3027
31-let u = 5
28+let s = 5
3229
33-let v = 6
30+let t = 6
3431
35-let w = 7
32+let u = 7
3633
37-let x = 8
34+let v = 8
3835
39-let y = 9
36+let w = 9
4037
41-let z = 10
38+let x = 10
4239
43-let A = 11
40+let y = 11
4441
45-func B (C,D,E,F,j,G,H,I,J,K,L,M) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", C, D, E, F, j, G, H, I, J, K, L, M], c)
42+func z (A,B,C,D,h,E,F,G,H,I,J,K) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", A, B, C, D, h, E, F, G, H, I, J, K], c)
4643
4744
48-func N (C,D,E,F,j,G,H,I,J,K,L,M) = B(toString(C), toString(D), toString(E), toString(F), toString(j), toString(G), H, toString(I), J, toString(K), toString(L), toString(M))
45+func L (A,B,C,D,h,E,F,G,H,I,J,K) = z(toString(A), toString(B), toString(C), toString(D), toString(h), toString(E), F, toString(G), H, toString(I), toString(J), toString(K))
4946
5047
51-let O = 1
48+let M = 1
5249
53-let P = 2
50+let N = 2
5451
55-let Q = 3
52+let O = 3
5653
57-let R = 4
54+let P = 4
5855
59-let S = 5
56+let Q = 5
6057
61-func T (U,V,W,X,Y) = makeString(["%d%d%d%d%d", U, V, W, X, Y], c)
58+func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
6259
6360
64-func Z (U,V,W,X,Y) = T(toString(U), toString(V), toString(W), toString(X), toString(Y))
61+func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
6562
6663
67-func aa (h,ab) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(h), toString(ab)], c)
64+func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
6865
6966
70-func ac () = "%s__config"
67+func aa () = "%s__config"
7168
7269
73-func ad (ae) = ("%s__" + ae)
70+func ab (ac) = ("%s__" + ac)
7471
7572
76-func af () = "%s__totals"
73+func ad () = "%s__totals"
7774
7875
79-func ag (ah,ae,ai) = makeString(["%s%s%s%s__history", ah, ae, ai], c)
76+func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
8077
8178
82-func aj () = "%s__usdnClaimDisabled"
79+func ah () = "%s__usdnClaimDisabled"
8380
8481
85-func ak () = "%s__usdnClaimEndHeight"
82+func ai () = "%s__usdnClaimEndHeight"
8683
8784
88-func al () = makeString(["%s", "periodLength"], c)
85+func aj () = "%s__managerPublicKey"
8986
9087
91-func am () = makeString(["%s", "currentPeriod"], c)
88+func ak () = "%s__pendingManagerPublicKey"
9289
9390
94-func an (ao) = makeString(["%s%s", "periodStartHeight", toString(ao)], c)
91+func al () = split(a(aa()), c)
9592
9693
97-func ap (ao) = makeString(["%s%s", "periodEndHeight", toString(ao)], c)
94+func am (an) = split(valueOrElse(getString(an), R("0", "0", "0", "0", "0")), c)
9895
9996
100-func aq () = makeString(["%s", "usdtUsdnRatio"], c)
97+func ao () = am(ad())
10198
10299
103-func ar (as) = makeString(["%s%s", "totalPeriodAllowance", as], c)
100+func ap (ac) = am(ab(ac))
104101
105102
106-func at (as) = makeString(["%s%s", "userPeriodAllowance", as], c)
103+func aq (ac) = split(a(ab(ac)), c)
107104
108105
109-func au (as,ao) = makeString(["%s%s%s", "periodTotalAvailableToClaim", as, toString(ao)], c)
106+let ar = 0
110107
108+let as = 1
111109
112-func av (as,ao,ae) = makeString(["%s%s%s%s", "periodUserAvailableToClaim", as, toString(ao), ae], c)
110+let at = 2
113111
112+let au = 3
114113
115-func aw () = "%s__managerPublicKey"
116-
117-
118-func ax () = "%s__pendingManagerPublicKey"
119-
120-
121-func ay () = split(a(ac()), c)
122-
123-
124-func az (aA) = split(valueOrElse(getString(aA), T("0", "0", "0", "0", "0")), c)
125-
126-
127-func aB () = az(af())
128-
129-
130-func aC (ae) = az(ad(ae))
131-
132-
133-func aD (ae) = split(a(ad(ae)), c)
134-
135-
136-let aE = 0
137-
138-let aF = 1
139-
140-let aG = 2
141-
142-let aH = 3
143-
144-func aI (b,aJ,aK,aL) = {
145- let U = parseIntValue(aJ[O])
146- let V = parseIntValue(aJ[P])
147- let W = parseIntValue(aJ[Q])
148- let X = parseIntValue(aJ[R])
149- let Y = parseIntValue(aJ[S])
150- let aM = (U + aK[aE])
151- let aN = (V + aK[aF])
152- let aO = (W + aK[aG])
153- let aP = (X + aK[aH])
154- if ((0 > aN))
114+func av (b,aw,ax,ay) = {
115+ let S = parseIntValue(aw[M])
116+ let T = parseIntValue(aw[N])
117+ let U = parseIntValue(aw[O])
118+ let V = parseIntValue(aw[P])
119+ let W = parseIntValue(aw[Q])
120+ let az = (S + ax[ar])
121+ let aA = (T + ax[as])
122+ let aB = (U + ax[at])
123+ let aC = (V + ax[au])
124+ if ((0 > aA))
155125 then throw("invalid math")
156- else StringEntry(b, Z(aM, aN, aO, aP, aL))
126+ else StringEntry(b, X(az, aA, aB, aC, ay))
157127 }
158128
159129
160-func aQ (ae,h,ab,aR) = StringEntry(ag("invest", ae, toBase58String(aR)), aa(h, ab))
130+func aD (ac,f,Z,aE) = StringEntry(ae("invest", ac, toBase58String(aE)), Y(f, Z))
161131
162132
163-func aS (ae,h,ab,aR) = StringEntry(ag("claim", ae, toBase58String(aR)), aa(h, ab))
133+func aF (ac,f,Z,aE) = StringEntry(ae("claim", ac, toBase58String(aE)), Y(f, Z))
164134
165135
166-func aT (aU,ae,aR) = {
167- let aV = ay()
168- let E = parseIntValue(aV[s])
169- let F = parseIntValue(aV[t])
170- let aW = (E + F)
171- let j = parseIntValue(aV[u])
172- let G = parseIntValue(aV[v])
173- let H = aV[w]
174- let aX = fromBase58String(H)
175- let I = parseIntValue(aV[x])
176- let J = aV[y]
177- let aY = fromBase58String(J)
178- let K = parseIntValue(aV[z])
179- let aZ = toString(ae)
180- let ba = aD(aZ)
181- let bb = parseIntValue(ba[O])
182- let bc = parseIntValue(ba[S])
183- let bd = if ((E >= bc))
184- then E
185- else bc
186- let be = if ((height > aW))
187- then aW
188- else if ((E > height))
189- then E
136+func aG (aH,ac,aE) = {
137+ let aI = al()
138+ let C = parseIntValue(aI[q])
139+ let D = parseIntValue(aI[r])
140+ let aJ = (C + D)
141+ let h = parseIntValue(aI[s])
142+ let E = parseIntValue(aI[t])
143+ let F = aI[u]
144+ let aK = fromBase58String(F)
145+ let G = parseIntValue(aI[v])
146+ let H = aI[w]
147+ let aL = fromBase58String(H)
148+ let I = parseIntValue(aI[x])
149+ let aM = toString(ac)
150+ let aN = aq(aM)
151+ let aO = parseIntValue(aN[M])
152+ let aP = parseIntValue(aN[Q])
153+ let aQ = if ((C >= aP))
154+ then C
155+ else aP
156+ let aR = if ((height > aJ))
157+ then aJ
158+ else if ((C > height))
159+ then C
190160 else height
191- let bf = (be - bd)
192- let bg = fraction(bb, bf, F)
193- let bh = g(bg, K, j, G, I)
194- let bi = (aU == J)
195- let bj = valueOrElse(getBoolean(aj()), false)
196- let bk = {
197- let bl = getInteger(ak())
198- if ($isInstanceOf(bl, "Int"))
161+ let aS = (aR - aQ)
162+ let aT = fraction(aO, aS, D)
163+ let aU = e(aT, I, h, E, G)
164+ let aV = (aH == H)
165+ let aW = valueOrElse(getBoolean(ah()), false)
166+ let aX = {
167+ let aY = getInteger(ai())
168+ if ($isInstanceOf(aY, "Int"))
199169 then {
200- let bm = bl
201- (height > bm)
170+ let aZ = aY
171+ (height > aZ)
202172 }
203- else if ($isInstanceOf(bl, "Unit"))
173+ else if ($isInstanceOf(aY, "Unit"))
204174 then false
205175 else throw("Match error")
206176 }
207- let bn = [if (!(if (bi)
208- then bj
177+ let ba = [if (!(if (aV)
178+ then aW
209179 else false))
210180 then true
211- else e("USDN claim is disabled"), if (!(if (bi)
212- then bk
181+ else throw("USDN claim is disabled"), if (!(if (aV)
182+ then aX
213183 else false))
214184 then true
215- else e("USDN claim is ended")]
216- if ((bn == bn))
217- then {
218- let bo = value(getInteger(ar(J)))
219- let bp = value(getInteger(at(J)))
220- let bq = valueOrElse(getInteger(am()), 0)
221- let br = valueOrElse(getInteger(au(J, bq)), bo)
222- let bs = valueOrElse(getInteger(av(J, bq, aZ)), bp)
223- let bt = min([bg, br, bs])
224- if ((aU == J))
225- then $Tuple6([0, -(bt), bt, 0], bt, aY, ba, be, [bt, bh, br])
226- else if ((aU == H))
227- then $Tuple6([0, -(bt), 0, bt], bh, aX, ba, be, [bt, bh, br])
228- else e(makeString(["unsupported assetId:", aU], " "))
229- }
185+ else throw("USDN claim is ended")]
186+ if ((ba == ba))
187+ then if ((aH == H))
188+ then $Tuple6([0, -(aT), aT, 0], aT, aL, aN, aR, [aT, aU])
189+ else if ((aH == F))
190+ then $Tuple6([0, -(aT), 0, aU], aU, aK, aN, aR, [aT, aU])
191+ else throw(("unsupported assetId: " + aH))
230192 else throw("Strict value is not equal to itself.")
231193 }
232194
233195
234-func bu () = {
235- let bl = getString(aw())
236- if ($isInstanceOf(bl, "String"))
196+func bb () = {
197+ let aY = getString(aj())
198+ if ($isInstanceOf(aY, "String"))
237199 then {
238- let bv = bl
239- fromBase58String(bv)
200+ let bc = aY
201+ fromBase58String(bc)
240202 }
241- else if ($isInstanceOf(bl, "Unit"))
203+ else if ($isInstanceOf(aY, "Unit"))
242204 then unit
243205 else throw("Match error")
244206 }
245207
246208
247-func bw () = {
248- let bl = getString(ax())
249- if ($isInstanceOf(bl, "String"))
209+func bd () = {
210+ let aY = getString(ak())
211+ if ($isInstanceOf(aY, "String"))
250212 then {
251- let bv = bl
252- fromBase58String(bv)
213+ let bc = aY
214+ fromBase58String(bc)
253215 }
254- else if ($isInstanceOf(bl, "Unit"))
216+ else if ($isInstanceOf(aY, "Unit"))
255217 then unit
256218 else throw("Match error")
257219 }
258220
259221
260-func bx (by) = {
261- let bz = throw("Permission denied")
262- let bl = bu()
263- if ($isInstanceOf(bl, "ByteVector"))
222+func be (bf) = {
223+ let bg = throw("Permission denied")
224+ let aY = bb()
225+ if ($isInstanceOf(aY, "ByteVector"))
264226 then {
265- let bA = bl
266- if ((by.callerPublicKey == bA))
227+ let bh = aY
228+ if ((bf.callerPublicKey == bh))
267229 then true
268- else bz
230+ else bg
269231 }
270- else if ($isInstanceOf(bl, "Unit"))
271- then if ((by.caller == this))
232+ else if ($isInstanceOf(aY, "Unit"))
233+ then if ((bf.caller == this))
272234 then true
273- else bz
235+ else bg
274236 else throw("Match error")
275237 }
276238
277239
278-@Callable(by)
279-func constructor (C,D,E,F,j,J,L) = {
280- let G = ((100 * 1000) * 1000)
281- let bB = (C + D)
282- if (isDefined(getString(ac())))
240+@Callable(bf)
241+func constructor (A,B,C,D,h,H,J) = {
242+ let E = ((100 * 1000) * 1000)
243+ let bi = (A + B)
244+ if (isDefined(getString(aa())))
283245 then throw("already initialized")
284- else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(by.caller)))
246+ else if (("3PMEHLx1j6zerarZTYfsGqDeeZqQoMpxq5S" != toString(bf.caller)))
285247 then throw("not authorized")
286- else if ((size(by.payments) != 1))
248+ else if ((size(bf.payments) != 1))
287249 then throw("exactly 1 payment must be attached")
288- else if ((bB >= E))
250+ else if ((bi >= C))
289251 then throw("claimStart must be greater than idoEnd")
290252 else {
291- let bC = value(by.payments[0])
292- let aX = value(bC.assetId)
293- let bD = valueOrErrorMessage(assetInfo(aX), "fail to load ido asset info")
294- let H = toBase58String(aX)
295- let I = pow(10, 0, bD.decimals, 0, 0, DOWN)
296- let aY = fromBase58String(J)
297- let bE = valueOrErrorMessage(assetInfo(aY), "fail to load price asset info")
298- let K = pow(10, 0, bE.decimals, 0, 0, DOWN)
299- let bF = aB()
300- let bG = [0, 0, 0, 0]
301-[StringEntry(ac(), N(C, D, E, F, j, G, H, I, J, K, L, bC.amount)), aI(af(), bF, bG, E)]
253+ let bj = value(bf.payments[0])
254+ let aK = value(bj.assetId)
255+ let bk = valueOrErrorMessage(assetInfo(aK), "fail to load ido asset info")
256+ let F = toBase58String(aK)
257+ let G = pow(10, 0, bk.decimals, 0, 0, DOWN)
258+ let aL = fromBase58String(H)
259+ let bl = valueOrErrorMessage(assetInfo(aL), "fail to load price asset info")
260+ let I = pow(10, 0, bl.decimals, 0, 0, DOWN)
261+ let bm = ao()
262+ let bn = [0, 0, 0, 0]
263+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, bj.amount)), av(ad(), bm, bn, C)]
302264 }
303265 }
304266
305267
306268
307-@Callable(by)
269+@Callable(bf)
308270 func invest () = {
309- let aV = ay()
310- let C = parseIntValue(aV[q])
311- let D = parseIntValue(aV[r])
312- let bB = (C + D)
313- let E = parseIntValue(aV[s])
314- let F = parseIntValue(aV[t])
315- let j = parseIntValue(aV[u])
316- let G = parseIntValue(aV[v])
317- let H = aV[w]
318- let aX = fromBase58String(H)
319- let I = parseIntValue(aV[x])
320- let J = aV[y]
321- let aY = fromBase58String(J)
322- let K = parseIntValue(aV[z])
323- let bH = parseIntValue(aV[A])
324- let ae = toString(by.caller)
325- if ((C > height))
271+ let aI = al()
272+ let A = parseIntValue(aI[o])
273+ let B = parseIntValue(aI[p])
274+ let bi = (A + B)
275+ let C = parseIntValue(aI[q])
276+ let D = parseIntValue(aI[r])
277+ let h = parseIntValue(aI[s])
278+ let E = parseIntValue(aI[t])
279+ let F = aI[u]
280+ let aK = fromBase58String(F)
281+ let G = parseIntValue(aI[v])
282+ let H = aI[w]
283+ let aL = fromBase58String(H)
284+ let I = parseIntValue(aI[x])
285+ let bo = parseIntValue(aI[y])
286+ let ac = toString(bf.caller)
287+ if ((A > height))
326288 then throw("ido has not been started yet")
327- else if ((height > bB))
289+ else if ((height > bi))
328290 then throw("ido has been already ended")
329- else if ((size(by.payments) != 1))
291+ else if ((size(bf.payments) != 1))
330292 then throw("exactly 1 payment is expected")
331293 else {
332- let bC = value(by.payments[0])
333- let bI = value(bC.assetId)
334- let bJ = bC.amount
335- if ((bI != aY))
336- then throw((("invalid payment asset id: " + toBase58String(bI)) + " is expected"))
294+ let bj = value(bf.payments[0])
295+ let bp = value(bj.assetId)
296+ let bq = bj.amount
297+ if ((bp != aL))
298+ then throw((("invalid payment asset id: " + toBase58String(bp)) + " is expected"))
337299 else {
338- let bK = aC(ae)
339- let bF = aB()
340- let bL = (parseIntValue(bF[O]) + bJ)
341- let bM = (bL * 100)
342- if ((bM > assetBalance(this, aX)))
300+ let br = ap(ac)
301+ let bm = ao()
302+ let bs = (parseIntValue(bm[M]) + bq)
303+ let bt = (bs * 100)
304+ if ((bt > assetBalance(this, aK)))
343305 then throw("IDO asset has been - sold consider to use smaller payment")
344306 else {
345- let bG = [bJ, bJ, 0, 0]
346-[aI(ad(ae), bK, bG, E), aI(af(), bF, bG, E), aQ(ae, bJ, 0, by.transactionId)]
307+ let bn = [bq, bq, 0, 0]
308+[av(ab(ac), br, bn, C), av(ad(), bm, bn, C), aD(ac, bq, 0, bf.transactionId)]
347309 }
348310 }
349311 }
350312 }
351313
352314
353315
354-@Callable(by)
355-func claim (aU,aZ) = {
356- let bN = toString(by.caller)
357- if ((aZ != bN))
358- then e("not authorized")
316+@Callable(bf)
317+func claim (aH,aM) = {
318+ let bu = toString(bf.caller)
319+ if ((aM != bu))
320+ then throw("not authorized")
359321 else {
360- let bO = aT(aU, by.caller, by.transactionId)
361- let bG = bO._1
362- let bP = bO._2
363- let bQ = bO._3
364- let ba = bO._4
365- let be = bO._5
366- let bR = bG[aG]
367- let bS = bG[aH]
368- $Tuple2([ScriptTransfer(by.caller, bP, bQ), aI(ad(aZ), ba, bG, be), aI(af(), aB(), bG, be), aS(aZ, bR, bS, by.transactionId)], unit)
322+ let bv = aG(aH, bf.caller, bf.transactionId)
323+ let bn = bv._1
324+ let bw = bv._2
325+ let bx = bv._3
326+ let aN = bv._4
327+ let aR = bv._5
328+ let by = bn[at]
329+ let bz = bn[au]
330+ $Tuple2([ScriptTransfer(bf.caller, bw, bx), av(ab(aM), aN, bn, aR), av(ad(), ao(), bn, aR), aF(aM, by, bz, bf.transactionId)], unit)
369331 }
370332 }
371333
372334
373335
374-@Callable(by)
375-func claimREADONLY (aU,aZ) = {
376- let bO = aT(aU, addressFromStringValue(aZ), fromBase58String(""))
377- let bG = bO._1
378- let bP = bO._2
379- let bQ = bO._3
380- let ba = bO._4
381- let be = bO._5
382- let bT = bO._6
383- let bU = bT[0]
384- let bV = bT[1]
385- $Tuple2(nil, makeString(["%s%d%d", aZ, toString(bU), toString(bV)], c))
336+@Callable(bf)
337+func claimREADONLY (aH,aM) = {
338+ let bv = aG(aH, addressFromStringValue(aM), fromBase58String(""))
339+ let bn = bv._1
340+ let bw = bv._2
341+ let bx = bv._3
342+ let aN = bv._4
343+ let aR = bv._5
344+ let bA = bv._6
345+ let bB = bA[0]
346+ let bC = bA[1]
347+ $Tuple2(nil, makeString(["%s%d%d", aM, toString(bB), toString(bC)], c))
386348 }
387349
388350
389351
390-@Callable(by)
391-func claimV2READONLY (aU,aZ) = {
392- let bO = aT(aU, addressFromStringValue(aZ), fromBase58String(""))
393- let bG = bO._1
394- let bP = bO._2
395- let bQ = bO._3
396- let ba = bO._4
397- let be = bO._5
398- let bT = bO._6
399- let bW = makeString(["%d%d%d%d%d%d", "1000", "2000", "100000", "101000000", "100123456", "100"], c)
400- $Tuple2(nil, bW)
401- }
402-
403-
404-
405-@Callable(by)
406-func setManager (bX) = {
407- let bY = bx(by)
408- if ((bY == bY))
352+@Callable(bf)
353+func setManager (bD) = {
354+ let bE = be(bf)
355+ if ((bE == bE))
409356 then {
410- let bZ = fromBase58String(bX)
411- if ((bZ == bZ))
412- then [StringEntry(ax(), bX)]
357+ let bF = fromBase58String(bD)
358+ if ((bF == bF))
359+ then [StringEntry(ak(), bD)]
413360 else throw("Strict value is not equal to itself.")
414361 }
415362 else throw("Strict value is not equal to itself.")
416363 }
417364
418365
419366
420-@Callable(by)
367+@Callable(bf)
421368 func confirmManager () = {
422- let ca = bw()
423- let cb = if (isDefined(ca))
369+ let bG = bd()
370+ let bH = if (isDefined(bG))
424371 then true
425372 else throw("No pending manager")
426- if ((cb == cb))
373+ if ((bH == bH))
427374 then {
428- let cc = if ((by.callerPublicKey == value(ca)))
375+ let bI = if ((bf.callerPublicKey == value(bG)))
429376 then true
430377 else throw("You are not pending manager")
431- if ((cc == cc))
432- then [StringEntry(aw(), toBase58String(value(ca))), DeleteEntry(ax())]
378+ if ((bI == bI))
379+ then [StringEntry(aj(), toBase58String(value(bG))), DeleteEntry(ak())]
433380 else throw("Strict value is not equal to itself.")
434381 }
435382 else throw("Strict value is not equal to itself.")
436383 }
437384
438385
439-@Verifier(cd)
440-func ce () = {
441- let cf = {
442- let bl = bu()
443- if ($isInstanceOf(bl, "ByteVector"))
386+@Verifier(bJ)
387+func bK () = {
388+ let bL = {
389+ let aY = bb()
390+ if ($isInstanceOf(aY, "ByteVector"))
444391 then {
445- let bA = bl
446- bA
392+ let bh = aY
393+ bh
447394 }
448- else if ($isInstanceOf(bl, "Unit"))
449- then cd.senderPublicKey
395+ else if ($isInstanceOf(aY, "Unit"))
396+ then bJ.senderPublicKey
450397 else throw("Match error")
451398 }
452- sigVerify(cd.bodyBytes, cd.proofs[0], cf)
399+ sigVerify(bJ.bodyBytes, bJ.proofs[0], bL)
453400 }
454401

github/deemru/w8io/169f3d6 
169.53 ms