tx · 5gULE5ECT7Y8uRqFWaghiqTG49iytB3pD8oWiG5SYfP4

3PPRHHF9JKvDLkAc3aHD3Kd5tRZp1CoqAJa:  -0.01400000 Waves

2021.11.15 12:02 [2856944] smart account 3PPRHHF9JKvDLkAc3aHD3Kd5tRZp1CoqAJa > SELF 0.00000000 Waves

{ "type": 13, "id": "5gULE5ECT7Y8uRqFWaghiqTG49iytB3pD8oWiG5SYfP4", "fee": 1400000, "feeAssetId": null, "timestamp": 1636966961133, "version": 2, "chainId": 87, "sender": "3PPRHHF9JKvDLkAc3aHD3Kd5tRZp1CoqAJa", "senderPublicKey": "Dura8pBsdYoeuB1zq6r5uKsgRS3MfiaVm5J99p6wJXYF", "proofs": [ "3QjzpYQxsfkdsphoWFWevWrtMA4vNihT6ZPEJKq77Lg4Zg5VMc1gmzwPotWr3Eic4ZTRfztScYuDTxwWg8oHCbA5" ], "script": "base64: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BQAAAAdhc3NldElkAgAAAAhfYmFsYW5jZQUAAAADbmlsBAAAAAtuZXdFYXJuaW5ncwkAAGUAAAACBQAAABRjdXJyZW50VG9rZW5FYXJuaW5ncwUAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBAAAAAtuZXdJbnRlcmVzdAMJAAAAAAAAAgUAAAALdG90YWxTdGFrZWQAAAAAAAAAAAAAAAAAAAAAAAAJAABrAAAAAwUAAAALbmV3RWFybmluZ3MFAAAABlNjYWxlOAUAAAALdG90YWxTdGFrZWQEAAAAEWxhc3RDaGVja0ludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFnbG9iYWxfbGFzdENoZWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAJX2ludGVyZXN0CQAAZAAAAAIFAAAAEWxhc3RDaGVja0ludGVyZXN0BQAAAAtuZXdJbnRlcmVzdAEAAAALY2xhaW1SZXN1bHQAAAABAAAAB2FkZHJlc3MEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQUAAAAHYWRkcmVzcwQAAAAMcHV6emxlQW1vdW50CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkCgEAAAAHaGFuZGxlcgAAAAIAAAAFYWNjdW0AAAAHYXNzZXRJZAQAAAAKYXNzZXRJZFN0cgkAAlgAAAABBQAAAAdhc3NldElkBAAAABRjdXJyZW50VG9rZW5JbnRlcmVzdAkBAAAAHWNhbGN1bGF0ZUN1cnJlbnRBc3NldEludGVyZXN0AAAAAgUAAAAHYXNzZXRJZAUAAAAKYXNzZXRJZFN0cgQAAAAUY3VycmVudFRva2VuRWFybmluZ3MJAAGWAAAAAQkABEwAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABFnbG9iYWxfbGFzdENoZWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAJX2Vhcm5pbmdzCQAETAAAAAIJAABlAAAAAgkAA/AAAAACBQAAAAR0aGlzBQAAAAdhc3NldElkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAAC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AQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAAxfaW5kZXhTdGFrZWQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwAAAABaQEAAAAMdW5zdGFrZUluZGV4AAAAAQAAAAxwdXp6bGVBbW91bnQEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA9wdXp6bGVBdmFpbGFibGUJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACBQAAAAphZGRyZXNzU3RyAgAAAAxfaW5kZXhTdGFrZWQDCQAAZgAAAAIFAAAADHB1enpsZUFtb3VudAUAAAAPcHV6emxlQXZhaWxhYmxlCQAAAgAAAAECAAAAJXlvdSBkb24ndCBoYXZlIGluZGV4IHRva2VucyBhdmFpbGFibGUJAAROAAAAAgkBAAAAC2NsYWltUmVzdWx0AAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAADF9pbmRleFN0YWtlZAkAAGUAAAACBQAAAA9wdXp6bGVBdmFpbGFibGUFAAAADHB1enpsZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASZ2xvYmFsX2luZGV4U3Rha2VkCQAAZQAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAASZ2xvYmFsX2luZGV4U3Rha2VkBQAAAAxwdXp6bGVBbW91bnQFAAAAA25pbAAAAAFpAQAAABFjbGFpbUluZGV4UmV3YXJkcwAAAAAJAQAAAAtjbGFpbVJlc3VsdAAAAAEIBQAAAAFpAAAABmNhbGxlcgAAAAFpAQAAAAtyZWRlZW1JbmRleAAAAAAEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAA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", "height": 2856944, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CLXqqZREXmPA4CXXx7esHuYMLb4LVSFYbkDiqcaD4P4E Next: EM6aBZLMJiLLXtN4VAsnefVyg2W8WYxeRHQCCj59gEe6 Diff:
OldNewDifferences
1919
2020 let i = 10000
2121
22-let j = 10000
22+let j = 100000000
2323
24-let k = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
24+let k = 10000
2525
26-func l (m) = {
27- let n = getInteger(this, m)
28- if ($isInstanceOf(n, "Int"))
26+let l = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
27+
28+let m = b
29+
30+func n (o) = {
31+ let p = getInteger(this, o)
32+ if ($isInstanceOf(p, "Int"))
2933 then {
30- let o = n
31- o
34+ let q = p
35+ q
3236 }
3337 else 0
3438 }
3539
3640
37-func p (m) = {
38- let n = getBinary(this, m)
39- if ($isInstanceOf(n, "ByteVector"))
41+func r (o) = {
42+ let p = getBinary(this, o)
43+ if ($isInstanceOf(p, "ByteVector"))
4044 then {
41- let o = n
42- o
45+ let q = p
46+ q
4347 }
4448 else base58''
4549 }
4650
4751
48-func q (r) = {
49- let s = toBase58String(b[r])
50- l((("global_" + s) + "_balance"))
52+func s (t) = {
53+ let u = toBase58String(b[t])
54+ n((("global_" + u) + "_balance"))
5155 }
5256
5357
54-func t (u,s) = {
55- let v = l("global_poolToken_amount")
56- let w = l((("global_" + toBase58String(s)) + "_balance"))
57- fraction(u, v, w, DOWN)
58+func v (w,u) = {
59+ let x = n("global_poolToken_amount")
60+ let y = n((("global_" + toBase58String(u)) + "_balance"))
61+ fraction(w, x, y, DOWN)
5862 }
5963
6064
61-func x (y) = {
62- func z (A,B) = {
63- let C = t(B.amount, value(B.assetId))
64- if (if ((A == 0))
65+func z (A) = {
66+ func B (C,D) = {
67+ let E = v(D.amount, value(D.assetId))
68+ if (if ((C == 0))
6569 then true
66- else (A > C))
67- then C
68- else A
70+ else (C > E))
71+ then E
72+ else C
6973 }
7074
71- let D = {
72- let E = y
73- let F = size(E)
74- let G = 0
75- func H (I,J) = if ((J >= F))
76- then I
77- else z(I, E[J])
75+ let F = {
76+ let G = A
77+ let H = size(G)
78+ let I = 0
79+ func J (K,L) = if ((L >= H))
80+ then K
81+ else B(K, G[L])
7882
79- func K (I,J) = if ((J >= F))
80- then I
83+ func M (K,L) = if ((L >= H))
84+ then K
8185 else throw("List size exceeds 10")
8286
83- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
87+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8488 }
85- D
89+ F
8690 }
8791
8892
89-func L (y) = {
90- func M (A,N) = (A ++ [value(N.assetId)])
93+func N (A) = {
94+ func O (C,P) = (C ++ [value(P.assetId)])
9195
92- let O = {
93- let E = y
94- let F = size(E)
95- let G = nil
96- func H (I,J) = if ((J >= F))
97- then I
98- else M(I, E[J])
96+ let Q = {
97+ let G = A
98+ let H = size(G)
99+ let I = nil
100+ func J (K,L) = if ((L >= H))
101+ then K
102+ else O(K, G[L])
99103
100- func K (I,J) = if ((J >= F))
101- then I
104+ func M (K,L) = if ((L >= H))
105+ then K
102106 else throw("List size exceeds 10")
103107
104- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
108+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
105109 }
106- func P (A,Q) = if ((indexOf(O, Q) != unit))
107- then (A + 1)
108- else throw(("asset not attached: " + toBase58String(Q)))
110+ if ((Q == Q))
111+ then {
112+ func R (C,S) = if ((indexOf(Q, S) != unit))
113+ then (C + 1)
114+ else throw(("asset not attached: " + toBase58String(S)))
109115
110- let R = {
111- let E = b
112- let F = size(E)
113- let G = 0
114- func H (I,J) = if ((J >= F))
115- then I
116- else P(I, E[J])
116+ let T = {
117+ let G = b
118+ let H = size(G)
119+ let I = 0
120+ func J (K,L) = if ((L >= H))
121+ then K
122+ else R(K, G[L])
117123
118- func K (I,J) = if ((J >= F))
119- then I
120- else throw("List size exceeds 10")
124+ func M (K,L) = if ((L >= H))
125+ then K
126+ else throw("List size exceeds 10")
121127
122- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
123- }
124- if ((R == R))
125- then true
128+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
129+ }
130+ if ((T == T))
131+ then true
132+ else throw("Strict value is not equal to itself.")
133+ }
126134 else throw("Strict value is not equal to itself.")
127135 }
128136
129137
130-func S (C,y,T) = {
131- func U (s) = {
132- func z (A,N) = if ((N.assetId == s))
133- then N.amount
134- else A
138+func U (E,A,V) = {
139+ func W (u) = {
140+ func B (C,P) = if ((P.assetId == u))
141+ then P.amount
142+ else C
135143
136- let E = y
137- let F = size(E)
138- let G = 0
139- func H (I,J) = if ((J >= F))
140- then I
141- else z(I, E[J])
144+ let G = A
145+ let H = size(G)
146+ let I = 0
147+ func J (K,L) = if ((L >= H))
148+ then K
149+ else B(K, G[L])
142150
143- func K (I,J) = if ((J >= F))
144- then I
151+ func M (K,L) = if ((L >= H))
152+ then K
145153 else throw("List size exceeds 10")
146154
147- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
155+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
148156 }
149157
150- func V (A,s) = {
151- let W = l((("global_" + toBase58String(s)) + "_balance"))
152- let X = l("global_poolToken_amount")
153- let Y = l((("static_" + toBase58String(s)) + "_scale"))
154- let Z = fraction((fraction((X + C), Y, X, DOWN) - Y), W, Y, DOWN)
155- (A ++ [IntegerEntry((("global_" + toBase58String(s)) + "_balance"), (W + Z))])
158+ func X (C,u) = {
159+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
160+ let Z = n("global_poolToken_amount")
161+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
162+ let ab = fraction((fraction((Z + E), aa, Z, DOWN) - aa), Y, aa, DOWN)
163+ (C ++ [IntegerEntry((("global_" + toBase58String(u)) + "_balance"), (Y + ab))])
156164 }
157165
158- func aa (A,s) = {
159- let W = l((("global_" + toBase58String(s)) + "_balance"))
160- let X = l("global_poolToken_amount")
161- let Y = l((("static_" + toBase58String(s)) + "_scale"))
162- let Z = fraction((fraction((X + C), Y, X, DOWN) - Y), W, Y, DOWN)
163- let ab = U(s)
164- let ac = ((if ((ab != 0))
165- then ab
166- else 0) - Z)
167- (A ++ [ScriptTransfer(T, ac, s)])
166+ func ac (C,u) = {
167+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
168+ let Z = n("global_poolToken_amount")
169+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
170+ let ab = fraction((fraction((Z + E), aa, Z, DOWN) - aa), Y, aa, DOWN)
171+ let ad = W(u)
172+ let ae = ((if ((ad != 0))
173+ then ad
174+ else 0) - ab)
175+ (C ++ [ScriptTransfer(V, ae, u)])
168176 }
169177
170178 ({
171- let E = b
172- let F = size(E)
173- let G = nil
174- func H (I,J) = if ((J >= F))
175- then I
176- else V(I, E[J])
179+ let G = b
180+ let H = size(G)
181+ let I = nil
182+ func J (K,L) = if ((L >= H))
183+ then K
184+ else X(K, G[L])
177185
178- func K (I,J) = if ((J >= F))
179- then I
186+ func M (K,L) = if ((L >= H))
187+ then K
180188 else throw("List size exceeds 10")
181189
182- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
190+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
183191 } ++ {
184- let E = b
185- let F = size(E)
186- let G = nil
187- func H (I,J) = if ((J >= F))
188- then I
189- else aa(I, E[J])
192+ let G = b
193+ let H = size(G)
194+ let I = nil
195+ func J (K,L) = if ((L >= H))
196+ then K
197+ else ac(K, G[L])
190198
191- func K (I,J) = if ((J >= F))
192- then I
199+ func M (K,L) = if ((L >= H))
200+ then K
193201 else throw("List size exceeds 10")
194202
195- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
203+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
196204 })
197205 }
198206
199207
200-func ad (ae,T) = {
201- func af (A,s) = {
202- let W = l((("global_" + toBase58String(s)) + "_balance"))
203- let X = l("global_poolToken_amount")
204- let Y = l((("static_" + toBase58String(s)) + "_scale"))
205- let u = fraction((Y - fraction((X - ae), Y, X, DOWN)), W, Y, DOWN)
206- (A ++ [IntegerEntry((("global_" + toBase58String(s)) + "_balance"), (W - u))])
208+func af (ag,V) = {
209+ func ah (C,u) = {
210+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
211+ let Z = n("global_poolToken_amount")
212+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
213+ let w = fraction((aa - fraction((Z - ag), aa, Z, DOWN)), Y, aa, DOWN)
214+ (C ++ [IntegerEntry((("global_" + toBase58String(u)) + "_balance"), (Y - w))])
207215 }
208216
209- func ag (A,s) = {
210- let W = l((("global_" + toBase58String(s)) + "_balance"))
211- let X = l("global_poolToken_amount")
212- let Y = l((("static_" + toBase58String(s)) + "_scale"))
213- let u = fraction((Y - fraction((X - ae), Y, X, DOWN)), W, Y, DOWN)
214- (A ++ [ScriptTransfer(T, u, s)])
217+ func ai (C,u) = {
218+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
219+ let Z = n("global_poolToken_amount")
220+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
221+ let w = fraction((aa - fraction((Z - ag), aa, Z, DOWN)), Y, aa, DOWN)
222+ (C ++ [ScriptTransfer(V, w, u)])
215223 }
216224
217225 ({
218- let E = b
219- let F = size(E)
220- let G = nil
221- func H (I,J) = if ((J >= F))
222- then I
223- else af(I, E[J])
226+ let G = b
227+ let H = size(G)
228+ let I = nil
229+ func J (K,L) = if ((L >= H))
230+ then K
231+ else ah(K, G[L])
224232
225- func K (I,J) = if ((J >= F))
226- then I
233+ func M (K,L) = if ((L >= H))
234+ then K
227235 else throw("List size exceeds 10")
228236
229- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
237+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
230238 } ++ {
231- let E = b
232- let F = size(E)
233- let G = nil
234- func H (I,J) = if ((J >= F))
235- then I
236- else ag(I, E[J])
239+ let G = b
240+ let H = size(G)
241+ let I = nil
242+ func J (K,L) = if ((L >= H))
243+ then K
244+ else ai(K, G[L])
237245
238- func K (I,J) = if ((J >= F))
239- then I
246+ func M (K,L) = if ((L >= H))
247+ then K
240248 else throw("List size exceeds 10")
241249
242- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
250+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
243251 })
244252 }
245253
246254
247-func ah (ai,aj,ak) = {
248- let al = value(indexOf(b, aj))
249- let am = value(indexOf(b, ak))
250- if ((al == am))
255+func aj (ak,al,am) = {
256+ let an = value(indexOf(b, al))
257+ let ao = value(indexOf(b, am))
258+ if ((an == ao))
251259 then throw("inalid tokens pair")
252260 else {
253- let an = l((("global_" + toBase58String(aj)) + "_balance"))
254- let ao = l((("global_" + toBase58String(ak)) + "_balance"))
255- fraction(ao, (g[am] - pow(((an * g[al]) / (an + ai)), f[al], fraction(c[al], 10000, c[am]), 4, f[am], FLOOR)), g[am], DOWN)
261+ let ap = n((("global_" + toBase58String(al)) + "_balance"))
262+ let aq = n((("global_" + toBase58String(am)) + "_balance"))
263+ fraction(aq, (g[ao] - pow(((ap * g[an]) / (ap + ak)), f[an], fraction(c[an], 10000, c[ao]), 4, f[ao], FLOOR)), g[ao], DOWN)
256264 }
257265 }
258266
259267
260-@Callable(ap)
261-func preInit () = [BinaryEntry("global_poolToken_id", base58'J5U3XKU5vTFfk32Qn8uoYxDeJ6JCqG1UTnwN1Kxv9X1w'), IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_scale"), g[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_scale"), g[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_scale"), g[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_scale"), g[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_scale"), g[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_scale"), g[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_scale"), g[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_scale"), g[8]), IntegerEntry((("static_" + toBase58String(b[9])) + "_scale"), g[9]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_weight"), c[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_weight"), c[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_weight"), c[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_weight"), c[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_weight"), c[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_weight"), c[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_weight"), c[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_weight"), c[8]), IntegerEntry((("static_" + toBase58String(b[9])) + "_weight"), c[9])]
268+func ar (S,as) = {
269+ let at = n("global_indexStaked")
270+ let au = n((("global_lastCheck_" + as) + "_earnings"))
271+ let av = max([au, (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))])
272+ let aw = (av - au)
273+ let ax = if ((at == 0))
274+ then 0
275+ else fraction(aw, j, at)
276+ let ay = n((("global_lastCheck_" + as) + "_interest"))
277+ (ay + ax)
278+ }
279+
280+
281+func az (aA) = {
282+ let aB = toString(aA)
283+ let aC = n((aB + "_indexStaked"))
284+ func B (C,S) = {
285+ let as = toBase58String(S)
286+ let aD = ar(S, as)
287+ let av = max([n((("global_lastCheck_" + as) + "_earnings")), (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))])
288+ let aE = fraction(aC, (aD - n((((aB + "_lastCheck_") + as) + "_interest"))), j)
289+ if ((aE == 0))
290+ then C
291+ else (C ++ [IntegerEntry((("global_lastCheck_" + as) + "_earnings"), (av - aE)), IntegerEntry((("global_lastCheck_" + as) + "_interest"), aD), IntegerEntry((((aB + "_lastCheck_") + as) + "_interest"), aD), ScriptTransfer(aA, aE, S)])
292+ }
293+
294+ let G = m
295+ let H = size(G)
296+ let I = nil
297+ func J (K,L) = if ((L >= H))
298+ then K
299+ else B(K, G[L])
300+
301+ func M (K,L) = if ((L >= H))
302+ then K
303+ else throw("List size exceeds 10")
304+
305+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
306+ }
307+
308+
309+@Callable(aF)
310+func preInit () = [IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_scale"), g[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_scale"), g[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_scale"), g[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_scale"), g[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_scale"), g[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_scale"), g[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_scale"), g[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_scale"), g[8]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_weight"), c[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_weight"), c[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_weight"), c[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_weight"), c[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_weight"), c[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_weight"), c[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_weight"), c[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_weight"), c[8])]
262311
263312
264313
265-@Callable(ap)
314+@Callable(aF)
315+func deInit () = if ((aF.caller != this))
316+ then throw("admin only")
317+ else [IntegerEntry("global_wasInited", 0)]
318+
319+
320+
321+@Callable(aF)
266322 func init () = {
267- func aq () = {
268- func z (A,ar) = (A ++ [IntegerEntry((("global_" + toBase58String(value(ar.assetId))) + "_balance"), ar.amount)])
323+ func aG () = {
324+ func B (C,aH) = (C ++ [IntegerEntry((("global_" + toBase58String(value(aH.assetId))) + "_balance"), aH.amount)])
269325
270- let E = ap.payments
271- let F = size(E)
272- let G = nil
273- func H (I,J) = if ((J >= F))
274- then I
275- else z(I, E[J])
326+ let G = aF.payments
327+ let H = size(G)
328+ let I = nil
329+ func J (K,L) = if ((L >= H))
330+ then K
331+ else B(K, G[L])
276332
277- func K (I,J) = if ((J >= F))
278- then I
333+ func M (K,L) = if ((L >= H))
334+ then K
279335 else throw("List size exceeds 10")
280336
281- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
337+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
282338 }
283339
284- func as (y) = {
285- func z (A,at) = {
286- let Q = value(at.assetId)
287- func P (A,ar) = if ((ar == Q))
288- then value(indexOf(b, ar))
289- else A
340+ func aI (A) = {
341+ func B (C,aJ) = {
342+ let S = value(aJ.assetId)
343+ func R (C,aH) = if ((aH == S))
344+ then value(indexOf(b, aH))
345+ else C
290346
291- let au = {
292- let E = b
293- let F = size(E)
294- let G = 1
295- func H (I,J) = if ((J >= F))
296- then I
297- else P(I, E[J])
347+ let aK = {
348+ let G = b
349+ let H = size(G)
350+ let I = 1
351+ func J (K,L) = if ((L >= H))
352+ then K
353+ else R(K, G[L])
298354
299- func K (I,J) = if ((J >= F))
300- then I
355+ func M (K,L) = if ((L >= H))
356+ then K
301357 else throw("List size exceeds 10")
302358
303- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
359+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
304360 }
305- (A * pow(at.amount, f[au], c[au], d, 1, FLOOR))
361+ (C * pow(aJ.amount, f[aK], c[aK], d, 1, FLOOR))
306362 }
307363
308- let E = y
309- let F = size(E)
310- let G = 1
311- func H (I,J) = if ((J >= F))
312- then I
313- else z(I, E[J])
364+ let G = A
365+ let H = size(G)
366+ let I = 1
367+ func J (K,L) = if ((L >= H))
368+ then K
369+ else B(K, G[L])
314370
315- func K (I,J) = if ((J >= F))
316- then I
371+ func M (K,L) = if ((L >= H))
372+ then K
317373 else throw("List size exceeds 10")
318374
319- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
375+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
320376 }
321377
322- if ((l("global_wasInited") > 0))
378+ if ((n("global_wasInited") > 0))
323379 then throw("pool already inited")
324380 else {
325- let av = as(ap.payments)
326- let aw = Issue("Puzzle4", "Puzzle Swap Pool Token", av, e, true, unit, 0)
327- let ax = calculateAssetId(aw)
328- (aq() ++ [aw, IntegerEntry("global_poolToken_amount", av), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", ax), ScriptTransfer(ap.caller, av, ax)])
381+ let aL = aI(aF.payments)
382+ let aM = Issue("Puzzle5", "Puzzle Swap Pool Token", aL, e, true, unit, 0)
383+ let aN = calculateAssetId(aM)
384+ (aG() ++ [aM, IntegerEntry("global_poolToken_amount", aL), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", aN), ScriptTransfer(aF.caller, aL, aN)])
329385 }
330386 }
331387
332388
333389
334-@Callable(ap)
335-func addLiquidity () = if ((size(ap.payments) != a))
390+@Callable(aF)
391+func generateIndex () = if ((size(aF.payments) != a))
336392 then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(a)))
337- else if (!(L(ap.payments)))
393+ else if (!(N(aF.payments)))
338394 then throw("wrong assets attached")
339395 else {
340- let C = x(ap.payments)
341- let ay = S(C, ap.payments, ap.caller)
342- let az = Reissue(p("global_poolToken_id"), C, true)
343- (ay ++ [az, ScriptTransfer(ap.caller, C, p("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (l("global_poolToken_amount") + C))])
396+ let E = z(aF.payments)
397+ let aO = U(E, aF.payments, aF.caller)
398+ let aP = Reissue(r("global_poolToken_id"), E, true)
399+ (aO ++ [aP, ScriptTransfer(aF.caller, E, r("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (n("global_poolToken_amount") + E))])
344400 }
345401
346402
347403
348-@Callable(ap)
349-func removeLiquidity () = throw("LP is closed yet")
404+@Callable(aF)
405+func stakeIndex () = {
406+ let aB = toString(aF.caller)
407+ let aJ = aF.payments[0]
408+ if ((value(aJ.assetId) != r("global_poolToken_id")))
409+ then throw("wrong asset attached")
410+ else {
411+ func B (C,S) = {
412+ let as = toBase58String(S)
413+ let aD = ar(S, as)
414+ (C ++ [IntegerEntry((("global_lastCheck_" + as) + "_earnings"), (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))), IntegerEntry((("global_lastCheck_" + as) + "_interest"), aD), IntegerEntry((((aB + "_lastCheck_") + as) + "_interest"), aD)])
415+ }
416+
417+ let aQ = {
418+ let G = m
419+ let H = size(G)
420+ let I = nil
421+ func J (K,L) = if ((L >= H))
422+ then K
423+ else B(K, G[L])
424+
425+ func M (K,L) = if ((L >= H))
426+ then K
427+ else throw("List size exceeds 10")
428+
429+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
430+ }
431+ (aQ ++ [IntegerEntry((aB + "_indexStaked"), (n((aB + "_indexStaked")) + aJ.amount)), IntegerEntry("global_indexStaked", (n("global_indexStaked") + aJ.amount))])
432+ }
433+ }
350434
351435
352436
353-@Callable(ap)
354-func swap (ak,aA) = {
355- let at = value(ap.payments[0])
356- let ai = value(ap.payments[0].amount)
357- let aB = value(at.assetId)
358- let aC = fromBase58String(ak)
359- let aD = ah(ai, aB, aC)
360- if ((aA > aD))
361- then throw(("amount to recieve it lower than given one: " + toString(aD)))
362- else if (((g[value(indexOf(b, aB))] / 10000) > ai))
437+@Callable(aF)
438+func unstakeIndex (aC) = {
439+ let aB = toString(aF.caller)
440+ let aR = n((aB + "_indexStaked"))
441+ if ((aC > aR))
442+ then throw("you don't have index tokens available")
443+ else (az(aF.caller) ++ [IntegerEntry((aB + "_indexStaked"), (aR - aC)), IntegerEntry("global_indexStaked", (n("global_indexStaked") - aC))])
444+ }
445+
446+
447+
448+@Callable(aF)
449+func claimIndexRewards () = az(aF.caller)
450+
451+
452+
453+@Callable(aF)
454+func redeemIndex () = {
455+ let aJ = aF.payments[0]
456+ if ((aJ.assetId != r("global_poolToken_id")))
457+ then throw("please attach pool share token")
458+ else {
459+ let ag = aJ.amount
460+ let aO = af(ag, aF.caller)
461+ (aO ++ [Burn(r("global_poolToken_id"), ag), IntegerEntry("global_poolToken_amount", (n("global_poolToken_amount") - ag))])
462+ }
463+ }
464+
465+
466+
467+@Callable(aF)
468+func swap (am,aS) = {
469+ let aJ = value(aF.payments[0])
470+ let ak = value(aF.payments[0].amount)
471+ let aT = value(aJ.assetId)
472+ let aU = fromBase58String(am)
473+ let aV = aj(ak, aT, aU)
474+ if ((aS > aV))
475+ then throw(("amount to recieve it lower than given one: " + toString(aV)))
476+ else if (((g[value(indexOf(b, aT))] / 10000) > ak))
363477 then throw("sum to exchange is too small")
364- else if ((0 > (l((("global_" + toBase58String(aC)) + "_balance")) - aD)))
478+ else if ((0 > (n((("global_" + toBase58String(aU)) + "_balance")) - aV)))
365479 then throw("contract is out of reserves")
366480 else {
367- let aE = fraction(aD, h, j)
368- let aF = (aD - aE)
369-[ScriptTransfer(k, aE, aC), IntegerEntry((("global_" + toBase58String(aC)) + "_balance"), (l((("global_" + toBase58String(aC)) + "_balance")) - aD)), IntegerEntry((("global_" + toBase58String(aB)) + "_balance"), (l((("global_" + toBase58String(aB)) + "_balance")) + ai)), ScriptTransfer(ap.caller, aF, aC)]
481+ let aW = fraction(aV, h, k)
482+ let aX = fraction(aW, 40, 100)
483+ let aY = (aV - aW)
484+[ScriptTransfer(l, aX, aU), IntegerEntry((("global_" + toBase58String(aU)) + "_balance"), (n((("global_" + toBase58String(aU)) + "_balance")) - aV)), IntegerEntry((("global_" + toBase58String(aT)) + "_balance"), (n((("global_" + toBase58String(aT)) + "_balance")) + ak)), ScriptTransfer(aF.caller, aY, aU)]
370485 }
371486 }
372487
373488
374-@Verifier(aG)
375-func aH () = sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
489+@Verifier(aZ)
490+func ba () = sigVerify(aZ.bodyBytes, aZ.proofs[0], aZ.senderPublicKey)
376491
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 10
55
66 let b = [base58'EfdcPXw7o7rrrPWmMBr2sa66Dk95n56622ngujbaGhye', base58'B543bkZcZNo5GrUnd5fxB6EwkiJhAVyKCkPn5nWzZC2s', base58'5bcAh1r6ydrpk44FEmrnmJQjumgKo3NKEEsyfgmZYwxC', base58'54UszKAj3MtYmkdRCqSXAcaQLaVALBy7CCrVkfmfzhxR', base58'5nk9JW8yRonyNBEwhChoksLxpBECVxbVLqaNuQs9EJn1', base58'Dfx6LJPndo1h5Umk9SofDhMDs6Gi8cHyT3873pSgoASU', base58'4kwKSf4Bx2Wq8YxKnVZBhcEHyXzEtJ2pw7ixfJgirwf2', base58'Ej7kEzxvUsoiMtJKiuFpMD9tC6qfCADpZynyW2vqcWW', base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS', base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p']
77
88 let c = [10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
99
1010 let d = 2
1111
1212 let e = 0
1313
1414 let f = [8, 8, 8, 8, 8, 8, 8, 8, 8, 6]
1515
1616 let g = [100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 100000000, 1000000]
1717
1818 let h = 200
1919
2020 let i = 10000
2121
22-let j = 10000
22+let j = 100000000
2323
24-let k = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
24+let k = 10000
2525
26-func l (m) = {
27- let n = getInteger(this, m)
28- if ($isInstanceOf(n, "Int"))
26+let l = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
27+
28+let m = b
29+
30+func n (o) = {
31+ let p = getInteger(this, o)
32+ if ($isInstanceOf(p, "Int"))
2933 then {
30- let o = n
31- o
34+ let q = p
35+ q
3236 }
3337 else 0
3438 }
3539
3640
37-func p (m) = {
38- let n = getBinary(this, m)
39- if ($isInstanceOf(n, "ByteVector"))
41+func r (o) = {
42+ let p = getBinary(this, o)
43+ if ($isInstanceOf(p, "ByteVector"))
4044 then {
41- let o = n
42- o
45+ let q = p
46+ q
4347 }
4448 else base58''
4549 }
4650
4751
48-func q (r) = {
49- let s = toBase58String(b[r])
50- l((("global_" + s) + "_balance"))
52+func s (t) = {
53+ let u = toBase58String(b[t])
54+ n((("global_" + u) + "_balance"))
5155 }
5256
5357
54-func t (u,s) = {
55- let v = l("global_poolToken_amount")
56- let w = l((("global_" + toBase58String(s)) + "_balance"))
57- fraction(u, v, w, DOWN)
58+func v (w,u) = {
59+ let x = n("global_poolToken_amount")
60+ let y = n((("global_" + toBase58String(u)) + "_balance"))
61+ fraction(w, x, y, DOWN)
5862 }
5963
6064
61-func x (y) = {
62- func z (A,B) = {
63- let C = t(B.amount, value(B.assetId))
64- if (if ((A == 0))
65+func z (A) = {
66+ func B (C,D) = {
67+ let E = v(D.amount, value(D.assetId))
68+ if (if ((C == 0))
6569 then true
66- else (A > C))
67- then C
68- else A
70+ else (C > E))
71+ then E
72+ else C
6973 }
7074
71- let D = {
72- let E = y
73- let F = size(E)
74- let G = 0
75- func H (I,J) = if ((J >= F))
76- then I
77- else z(I, E[J])
75+ let F = {
76+ let G = A
77+ let H = size(G)
78+ let I = 0
79+ func J (K,L) = if ((L >= H))
80+ then K
81+ else B(K, G[L])
7882
79- func K (I,J) = if ((J >= F))
80- then I
83+ func M (K,L) = if ((L >= H))
84+ then K
8185 else throw("List size exceeds 10")
8286
83- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
87+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8488 }
85- D
89+ F
8690 }
8791
8892
89-func L (y) = {
90- func M (A,N) = (A ++ [value(N.assetId)])
93+func N (A) = {
94+ func O (C,P) = (C ++ [value(P.assetId)])
9195
92- let O = {
93- let E = y
94- let F = size(E)
95- let G = nil
96- func H (I,J) = if ((J >= F))
97- then I
98- else M(I, E[J])
96+ let Q = {
97+ let G = A
98+ let H = size(G)
99+ let I = nil
100+ func J (K,L) = if ((L >= H))
101+ then K
102+ else O(K, G[L])
99103
100- func K (I,J) = if ((J >= F))
101- then I
104+ func M (K,L) = if ((L >= H))
105+ then K
102106 else throw("List size exceeds 10")
103107
104- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
108+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
105109 }
106- func P (A,Q) = if ((indexOf(O, Q) != unit))
107- then (A + 1)
108- else throw(("asset not attached: " + toBase58String(Q)))
110+ if ((Q == Q))
111+ then {
112+ func R (C,S) = if ((indexOf(Q, S) != unit))
113+ then (C + 1)
114+ else throw(("asset not attached: " + toBase58String(S)))
109115
110- let R = {
111- let E = b
112- let F = size(E)
113- let G = 0
114- func H (I,J) = if ((J >= F))
115- then I
116- else P(I, E[J])
116+ let T = {
117+ let G = b
118+ let H = size(G)
119+ let I = 0
120+ func J (K,L) = if ((L >= H))
121+ then K
122+ else R(K, G[L])
117123
118- func K (I,J) = if ((J >= F))
119- then I
120- else throw("List size exceeds 10")
124+ func M (K,L) = if ((L >= H))
125+ then K
126+ else throw("List size exceeds 10")
121127
122- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
123- }
124- if ((R == R))
125- then true
128+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
129+ }
130+ if ((T == T))
131+ then true
132+ else throw("Strict value is not equal to itself.")
133+ }
126134 else throw("Strict value is not equal to itself.")
127135 }
128136
129137
130-func S (C,y,T) = {
131- func U (s) = {
132- func z (A,N) = if ((N.assetId == s))
133- then N.amount
134- else A
138+func U (E,A,V) = {
139+ func W (u) = {
140+ func B (C,P) = if ((P.assetId == u))
141+ then P.amount
142+ else C
135143
136- let E = y
137- let F = size(E)
138- let G = 0
139- func H (I,J) = if ((J >= F))
140- then I
141- else z(I, E[J])
144+ let G = A
145+ let H = size(G)
146+ let I = 0
147+ func J (K,L) = if ((L >= H))
148+ then K
149+ else B(K, G[L])
142150
143- func K (I,J) = if ((J >= F))
144- then I
151+ func M (K,L) = if ((L >= H))
152+ then K
145153 else throw("List size exceeds 10")
146154
147- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
155+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
148156 }
149157
150- func V (A,s) = {
151- let W = l((("global_" + toBase58String(s)) + "_balance"))
152- let X = l("global_poolToken_amount")
153- let Y = l((("static_" + toBase58String(s)) + "_scale"))
154- let Z = fraction((fraction((X + C), Y, X, DOWN) - Y), W, Y, DOWN)
155- (A ++ [IntegerEntry((("global_" + toBase58String(s)) + "_balance"), (W + Z))])
158+ func X (C,u) = {
159+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
160+ let Z = n("global_poolToken_amount")
161+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
162+ let ab = fraction((fraction((Z + E), aa, Z, DOWN) - aa), Y, aa, DOWN)
163+ (C ++ [IntegerEntry((("global_" + toBase58String(u)) + "_balance"), (Y + ab))])
156164 }
157165
158- func aa (A,s) = {
159- let W = l((("global_" + toBase58String(s)) + "_balance"))
160- let X = l("global_poolToken_amount")
161- let Y = l((("static_" + toBase58String(s)) + "_scale"))
162- let Z = fraction((fraction((X + C), Y, X, DOWN) - Y), W, Y, DOWN)
163- let ab = U(s)
164- let ac = ((if ((ab != 0))
165- then ab
166- else 0) - Z)
167- (A ++ [ScriptTransfer(T, ac, s)])
166+ func ac (C,u) = {
167+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
168+ let Z = n("global_poolToken_amount")
169+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
170+ let ab = fraction((fraction((Z + E), aa, Z, DOWN) - aa), Y, aa, DOWN)
171+ let ad = W(u)
172+ let ae = ((if ((ad != 0))
173+ then ad
174+ else 0) - ab)
175+ (C ++ [ScriptTransfer(V, ae, u)])
168176 }
169177
170178 ({
171- let E = b
172- let F = size(E)
173- let G = nil
174- func H (I,J) = if ((J >= F))
175- then I
176- else V(I, E[J])
179+ let G = b
180+ let H = size(G)
181+ let I = nil
182+ func J (K,L) = if ((L >= H))
183+ then K
184+ else X(K, G[L])
177185
178- func K (I,J) = if ((J >= F))
179- then I
186+ func M (K,L) = if ((L >= H))
187+ then K
180188 else throw("List size exceeds 10")
181189
182- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
190+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
183191 } ++ {
184- let E = b
185- let F = size(E)
186- let G = nil
187- func H (I,J) = if ((J >= F))
188- then I
189- else aa(I, E[J])
192+ let G = b
193+ let H = size(G)
194+ let I = nil
195+ func J (K,L) = if ((L >= H))
196+ then K
197+ else ac(K, G[L])
190198
191- func K (I,J) = if ((J >= F))
192- then I
199+ func M (K,L) = if ((L >= H))
200+ then K
193201 else throw("List size exceeds 10")
194202
195- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
203+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
196204 })
197205 }
198206
199207
200-func ad (ae,T) = {
201- func af (A,s) = {
202- let W = l((("global_" + toBase58String(s)) + "_balance"))
203- let X = l("global_poolToken_amount")
204- let Y = l((("static_" + toBase58String(s)) + "_scale"))
205- let u = fraction((Y - fraction((X - ae), Y, X, DOWN)), W, Y, DOWN)
206- (A ++ [IntegerEntry((("global_" + toBase58String(s)) + "_balance"), (W - u))])
208+func af (ag,V) = {
209+ func ah (C,u) = {
210+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
211+ let Z = n("global_poolToken_amount")
212+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
213+ let w = fraction((aa - fraction((Z - ag), aa, Z, DOWN)), Y, aa, DOWN)
214+ (C ++ [IntegerEntry((("global_" + toBase58String(u)) + "_balance"), (Y - w))])
207215 }
208216
209- func ag (A,s) = {
210- let W = l((("global_" + toBase58String(s)) + "_balance"))
211- let X = l("global_poolToken_amount")
212- let Y = l((("static_" + toBase58String(s)) + "_scale"))
213- let u = fraction((Y - fraction((X - ae), Y, X, DOWN)), W, Y, DOWN)
214- (A ++ [ScriptTransfer(T, u, s)])
217+ func ai (C,u) = {
218+ let Y = n((("global_" + toBase58String(u)) + "_balance"))
219+ let Z = n("global_poolToken_amount")
220+ let aa = n((("static_" + toBase58String(u)) + "_scale"))
221+ let w = fraction((aa - fraction((Z - ag), aa, Z, DOWN)), Y, aa, DOWN)
222+ (C ++ [ScriptTransfer(V, w, u)])
215223 }
216224
217225 ({
218- let E = b
219- let F = size(E)
220- let G = nil
221- func H (I,J) = if ((J >= F))
222- then I
223- else af(I, E[J])
226+ let G = b
227+ let H = size(G)
228+ let I = nil
229+ func J (K,L) = if ((L >= H))
230+ then K
231+ else ah(K, G[L])
224232
225- func K (I,J) = if ((J >= F))
226- then I
233+ func M (K,L) = if ((L >= H))
234+ then K
227235 else throw("List size exceeds 10")
228236
229- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
237+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
230238 } ++ {
231- let E = b
232- let F = size(E)
233- let G = nil
234- func H (I,J) = if ((J >= F))
235- then I
236- else ag(I, E[J])
239+ let G = b
240+ let H = size(G)
241+ let I = nil
242+ func J (K,L) = if ((L >= H))
243+ then K
244+ else ai(K, G[L])
237245
238- func K (I,J) = if ((J >= F))
239- then I
246+ func M (K,L) = if ((L >= H))
247+ then K
240248 else throw("List size exceeds 10")
241249
242- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
250+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
243251 })
244252 }
245253
246254
247-func ah (ai,aj,ak) = {
248- let al = value(indexOf(b, aj))
249- let am = value(indexOf(b, ak))
250- if ((al == am))
255+func aj (ak,al,am) = {
256+ let an = value(indexOf(b, al))
257+ let ao = value(indexOf(b, am))
258+ if ((an == ao))
251259 then throw("inalid tokens pair")
252260 else {
253- let an = l((("global_" + toBase58String(aj)) + "_balance"))
254- let ao = l((("global_" + toBase58String(ak)) + "_balance"))
255- fraction(ao, (g[am] - pow(((an * g[al]) / (an + ai)), f[al], fraction(c[al], 10000, c[am]), 4, f[am], FLOOR)), g[am], DOWN)
261+ let ap = n((("global_" + toBase58String(al)) + "_balance"))
262+ let aq = n((("global_" + toBase58String(am)) + "_balance"))
263+ fraction(aq, (g[ao] - pow(((ap * g[an]) / (ap + ak)), f[an], fraction(c[an], 10000, c[ao]), 4, f[ao], FLOOR)), g[ao], DOWN)
256264 }
257265 }
258266
259267
260-@Callable(ap)
261-func preInit () = [BinaryEntry("global_poolToken_id", base58'J5U3XKU5vTFfk32Qn8uoYxDeJ6JCqG1UTnwN1Kxv9X1w'), IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_scale"), g[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_scale"), g[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_scale"), g[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_scale"), g[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_scale"), g[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_scale"), g[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_scale"), g[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_scale"), g[8]), IntegerEntry((("static_" + toBase58String(b[9])) + "_scale"), g[9]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_weight"), c[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_weight"), c[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_weight"), c[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_weight"), c[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_weight"), c[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_weight"), c[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_weight"), c[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_weight"), c[8]), IntegerEntry((("static_" + toBase58String(b[9])) + "_weight"), c[9])]
268+func ar (S,as) = {
269+ let at = n("global_indexStaked")
270+ let au = n((("global_lastCheck_" + as) + "_earnings"))
271+ let av = max([au, (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))])
272+ let aw = (av - au)
273+ let ax = if ((at == 0))
274+ then 0
275+ else fraction(aw, j, at)
276+ let ay = n((("global_lastCheck_" + as) + "_interest"))
277+ (ay + ax)
278+ }
279+
280+
281+func az (aA) = {
282+ let aB = toString(aA)
283+ let aC = n((aB + "_indexStaked"))
284+ func B (C,S) = {
285+ let as = toBase58String(S)
286+ let aD = ar(S, as)
287+ let av = max([n((("global_lastCheck_" + as) + "_earnings")), (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))])
288+ let aE = fraction(aC, (aD - n((((aB + "_lastCheck_") + as) + "_interest"))), j)
289+ if ((aE == 0))
290+ then C
291+ else (C ++ [IntegerEntry((("global_lastCheck_" + as) + "_earnings"), (av - aE)), IntegerEntry((("global_lastCheck_" + as) + "_interest"), aD), IntegerEntry((((aB + "_lastCheck_") + as) + "_interest"), aD), ScriptTransfer(aA, aE, S)])
292+ }
293+
294+ let G = m
295+ let H = size(G)
296+ let I = nil
297+ func J (K,L) = if ((L >= H))
298+ then K
299+ else B(K, G[L])
300+
301+ func M (K,L) = if ((L >= H))
302+ then K
303+ else throw("List size exceeds 10")
304+
305+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
306+ }
307+
308+
309+@Callable(aF)
310+func preInit () = [IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_scale"), g[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_scale"), g[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_scale"), g[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_scale"), g[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_scale"), g[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_scale"), g[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_scale"), g[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_scale"), g[8]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[0]), IntegerEntry((("static_" + toBase58String(b[1])) + "_weight"), c[1]), IntegerEntry((("static_" + toBase58String(b[2])) + "_weight"), c[2]), IntegerEntry((("static_" + toBase58String(b[3])) + "_weight"), c[3]), IntegerEntry((("static_" + toBase58String(b[4])) + "_weight"), c[4]), IntegerEntry((("static_" + toBase58String(b[5])) + "_weight"), c[5]), IntegerEntry((("static_" + toBase58String(b[6])) + "_weight"), c[6]), IntegerEntry((("static_" + toBase58String(b[7])) + "_weight"), c[7]), IntegerEntry((("static_" + toBase58String(b[8])) + "_weight"), c[8])]
262311
263312
264313
265-@Callable(ap)
314+@Callable(aF)
315+func deInit () = if ((aF.caller != this))
316+ then throw("admin only")
317+ else [IntegerEntry("global_wasInited", 0)]
318+
319+
320+
321+@Callable(aF)
266322 func init () = {
267- func aq () = {
268- func z (A,ar) = (A ++ [IntegerEntry((("global_" + toBase58String(value(ar.assetId))) + "_balance"), ar.amount)])
323+ func aG () = {
324+ func B (C,aH) = (C ++ [IntegerEntry((("global_" + toBase58String(value(aH.assetId))) + "_balance"), aH.amount)])
269325
270- let E = ap.payments
271- let F = size(E)
272- let G = nil
273- func H (I,J) = if ((J >= F))
274- then I
275- else z(I, E[J])
326+ let G = aF.payments
327+ let H = size(G)
328+ let I = nil
329+ func J (K,L) = if ((L >= H))
330+ then K
331+ else B(K, G[L])
276332
277- func K (I,J) = if ((J >= F))
278- then I
333+ func M (K,L) = if ((L >= H))
334+ then K
279335 else throw("List size exceeds 10")
280336
281- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
337+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
282338 }
283339
284- func as (y) = {
285- func z (A,at) = {
286- let Q = value(at.assetId)
287- func P (A,ar) = if ((ar == Q))
288- then value(indexOf(b, ar))
289- else A
340+ func aI (A) = {
341+ func B (C,aJ) = {
342+ let S = value(aJ.assetId)
343+ func R (C,aH) = if ((aH == S))
344+ then value(indexOf(b, aH))
345+ else C
290346
291- let au = {
292- let E = b
293- let F = size(E)
294- let G = 1
295- func H (I,J) = if ((J >= F))
296- then I
297- else P(I, E[J])
347+ let aK = {
348+ let G = b
349+ let H = size(G)
350+ let I = 1
351+ func J (K,L) = if ((L >= H))
352+ then K
353+ else R(K, G[L])
298354
299- func K (I,J) = if ((J >= F))
300- then I
355+ func M (K,L) = if ((L >= H))
356+ then K
301357 else throw("List size exceeds 10")
302358
303- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
359+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
304360 }
305- (A * pow(at.amount, f[au], c[au], d, 1, FLOOR))
361+ (C * pow(aJ.amount, f[aK], c[aK], d, 1, FLOOR))
306362 }
307363
308- let E = y
309- let F = size(E)
310- let G = 1
311- func H (I,J) = if ((J >= F))
312- then I
313- else z(I, E[J])
364+ let G = A
365+ let H = size(G)
366+ let I = 1
367+ func J (K,L) = if ((L >= H))
368+ then K
369+ else B(K, G[L])
314370
315- func K (I,J) = if ((J >= F))
316- then I
371+ func M (K,L) = if ((L >= H))
372+ then K
317373 else throw("List size exceeds 10")
318374
319- K(H(H(H(H(H(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
375+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
320376 }
321377
322- if ((l("global_wasInited") > 0))
378+ if ((n("global_wasInited") > 0))
323379 then throw("pool already inited")
324380 else {
325- let av = as(ap.payments)
326- let aw = Issue("Puzzle4", "Puzzle Swap Pool Token", av, e, true, unit, 0)
327- let ax = calculateAssetId(aw)
328- (aq() ++ [aw, IntegerEntry("global_poolToken_amount", av), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", ax), ScriptTransfer(ap.caller, av, ax)])
381+ let aL = aI(aF.payments)
382+ let aM = Issue("Puzzle5", "Puzzle Swap Pool Token", aL, e, true, unit, 0)
383+ let aN = calculateAssetId(aM)
384+ (aG() ++ [aM, IntegerEntry("global_poolToken_amount", aL), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", aN), ScriptTransfer(aF.caller, aL, aN)])
329385 }
330386 }
331387
332388
333389
334-@Callable(ap)
335-func addLiquidity () = if ((size(ap.payments) != a))
390+@Callable(aF)
391+func generateIndex () = if ((size(aF.payments) != a))
336392 then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(a)))
337- else if (!(L(ap.payments)))
393+ else if (!(N(aF.payments)))
338394 then throw("wrong assets attached")
339395 else {
340- let C = x(ap.payments)
341- let ay = S(C, ap.payments, ap.caller)
342- let az = Reissue(p("global_poolToken_id"), C, true)
343- (ay ++ [az, ScriptTransfer(ap.caller, C, p("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (l("global_poolToken_amount") + C))])
396+ let E = z(aF.payments)
397+ let aO = U(E, aF.payments, aF.caller)
398+ let aP = Reissue(r("global_poolToken_id"), E, true)
399+ (aO ++ [aP, ScriptTransfer(aF.caller, E, r("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (n("global_poolToken_amount") + E))])
344400 }
345401
346402
347403
348-@Callable(ap)
349-func removeLiquidity () = throw("LP is closed yet")
404+@Callable(aF)
405+func stakeIndex () = {
406+ let aB = toString(aF.caller)
407+ let aJ = aF.payments[0]
408+ if ((value(aJ.assetId) != r("global_poolToken_id")))
409+ then throw("wrong asset attached")
410+ else {
411+ func B (C,S) = {
412+ let as = toBase58String(S)
413+ let aD = ar(S, as)
414+ (C ++ [IntegerEntry((("global_lastCheck_" + as) + "_earnings"), (assetBalance(this, S) - n((("global_" + toBase58String(S)) + "_balance")))), IntegerEntry((("global_lastCheck_" + as) + "_interest"), aD), IntegerEntry((((aB + "_lastCheck_") + as) + "_interest"), aD)])
415+ }
416+
417+ let aQ = {
418+ let G = m
419+ let H = size(G)
420+ let I = nil
421+ func J (K,L) = if ((L >= H))
422+ then K
423+ else B(K, G[L])
424+
425+ func M (K,L) = if ((L >= H))
426+ then K
427+ else throw("List size exceeds 10")
428+
429+ M(J(J(J(J(J(J(J(J(J(J(I, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
430+ }
431+ (aQ ++ [IntegerEntry((aB + "_indexStaked"), (n((aB + "_indexStaked")) + aJ.amount)), IntegerEntry("global_indexStaked", (n("global_indexStaked") + aJ.amount))])
432+ }
433+ }
350434
351435
352436
353-@Callable(ap)
354-func swap (ak,aA) = {
355- let at = value(ap.payments[0])
356- let ai = value(ap.payments[0].amount)
357- let aB = value(at.assetId)
358- let aC = fromBase58String(ak)
359- let aD = ah(ai, aB, aC)
360- if ((aA > aD))
361- then throw(("amount to recieve it lower than given one: " + toString(aD)))
362- else if (((g[value(indexOf(b, aB))] / 10000) > ai))
437+@Callable(aF)
438+func unstakeIndex (aC) = {
439+ let aB = toString(aF.caller)
440+ let aR = n((aB + "_indexStaked"))
441+ if ((aC > aR))
442+ then throw("you don't have index tokens available")
443+ else (az(aF.caller) ++ [IntegerEntry((aB + "_indexStaked"), (aR - aC)), IntegerEntry("global_indexStaked", (n("global_indexStaked") - aC))])
444+ }
445+
446+
447+
448+@Callable(aF)
449+func claimIndexRewards () = az(aF.caller)
450+
451+
452+
453+@Callable(aF)
454+func redeemIndex () = {
455+ let aJ = aF.payments[0]
456+ if ((aJ.assetId != r("global_poolToken_id")))
457+ then throw("please attach pool share token")
458+ else {
459+ let ag = aJ.amount
460+ let aO = af(ag, aF.caller)
461+ (aO ++ [Burn(r("global_poolToken_id"), ag), IntegerEntry("global_poolToken_amount", (n("global_poolToken_amount") - ag))])
462+ }
463+ }
464+
465+
466+
467+@Callable(aF)
468+func swap (am,aS) = {
469+ let aJ = value(aF.payments[0])
470+ let ak = value(aF.payments[0].amount)
471+ let aT = value(aJ.assetId)
472+ let aU = fromBase58String(am)
473+ let aV = aj(ak, aT, aU)
474+ if ((aS > aV))
475+ then throw(("amount to recieve it lower than given one: " + toString(aV)))
476+ else if (((g[value(indexOf(b, aT))] / 10000) > ak))
363477 then throw("sum to exchange is too small")
364- else if ((0 > (l((("global_" + toBase58String(aC)) + "_balance")) - aD)))
478+ else if ((0 > (n((("global_" + toBase58String(aU)) + "_balance")) - aV)))
365479 then throw("contract is out of reserves")
366480 else {
367- let aE = fraction(aD, h, j)
368- let aF = (aD - aE)
369-[ScriptTransfer(k, aE, aC), IntegerEntry((("global_" + toBase58String(aC)) + "_balance"), (l((("global_" + toBase58String(aC)) + "_balance")) - aD)), IntegerEntry((("global_" + toBase58String(aB)) + "_balance"), (l((("global_" + toBase58String(aB)) + "_balance")) + ai)), ScriptTransfer(ap.caller, aF, aC)]
481+ let aW = fraction(aV, h, k)
482+ let aX = fraction(aW, 40, 100)
483+ let aY = (aV - aW)
484+[ScriptTransfer(l, aX, aU), IntegerEntry((("global_" + toBase58String(aU)) + "_balance"), (n((("global_" + toBase58String(aU)) + "_balance")) - aV)), IntegerEntry((("global_" + toBase58String(aT)) + "_balance"), (n((("global_" + toBase58String(aT)) + "_balance")) + ak)), ScriptTransfer(aF.caller, aY, aU)]
370485 }
371486 }
372487
373488
374-@Verifier(aG)
375-func aH () = sigVerify(aG.bodyBytes, aG.proofs[0], aG.senderPublicKey)
489+@Verifier(aZ)
490+func ba () = sigVerify(aZ.bodyBytes, aZ.proofs[0], aZ.senderPublicKey)
376491

github/deemru/w8io/3ef1775 
175.44 ms