tx · 46K1AkkPDqbzfm13R5x7PVNvAULx6Gd1HFi7cFLgK9gm

3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU:  -0.03300000 Waves

2022.07.18 09:22 [2144824] smart account 3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU > SELF 0.00000000 Waves

{ "type": 13, "id": "46K1AkkPDqbzfm13R5x7PVNvAULx6Gd1HFi7cFLgK9gm", "fee": 3300000, "feeAssetId": null, "timestamp": 1658125386064, "version": 2, "chainId": 84, "sender": "3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU", "senderPublicKey": "GDio3pYFUMSWQ3yen7TJP79nTPaGuPbxjKixvKLuYS8E", "proofs": [ "4GpEBrCymfhpswsoWyVp7LtkjE5bhHGRky8kGQTveZVAyhGQECdxrD711SdQU3oBNV9mnVpgjaY4ETQhKdGTY4Ax" ], "script": "base64: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CQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAEGtleVBvb2xVc2RuV2F2ZXMJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAV3YXZlcwQAAAAUa2V5UG9vbFVzZG5NYWluQXNzZXQJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtNYWluQXNzZXRJZAQAAAAPa2V5UG9vbFVzZG5FdXJuCQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAD2tleVBvb2xVc2RjVXNkdAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC1VzZHRBc3NldElkBAAAAA9rZXlQb29sVXNkY05nbm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtOZ25uQXNzZXRJZAQAAAAQa2V5UG9vbFVzZGNXYXZlcwkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sVXNkY01haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sVXNkY0V1cm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAPa2V5UG9vbFVzZHROZ25uCQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAFGtleVBvb2xVc2R0TWFpbkFzc2V0CQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALTWFpbkFzc2V0SWQEAAAAD2tleVBvb2xVc2R0RXVybgkBAAAAAmtwAAAAAgUAAAALVXNkdEFzc2V0SWQFAAAAC0V1cm5Bc3NldElkBAAAABBrZXlQb29sTmdubldhdmVzCQEAAAACa3AAAAACBQAAAAtOZ25uQXNzZXRJZAUAAAAFd2F2ZXMEAAAAFGtleVBvb2xOZ25uTWFpbkFzc2V0CQEAAAACa3AAAAACBQAAAAtOZ25uQXNzZXRJZAUAAAALTWFpbkFzc2V0SWQEAAAAD2tleVBvb2xOZ25uRXVy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", "height": 2144824, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5bE1e6pyCcV6qwajQQFVHDqbxS6JoeJfTijoJXN6QqD3 Next: F69zHJ8A6ZS8k537SCHkntXRCbhCfEEReF4eiwN68qp6 Diff:
OldNewDifferences
129129 func S (T,U,m) = (((h + I(T, U)) + "_") + m)
130130
131131
132-func V (t) = {
133- let q = t
134- if ($isInstanceOf(q, "ByteVector"))
135- then {
136- let O = q
137- value(assetInfo(O)).decimals
138- }
139- else 8
140- }
141-
142-
143-func W (m,M) = {
132+func V (m,M) = {
144133 let q = getInteger(this, ((("STAKE_LP_" + m) + "_") + M))
145134 if ($isInstanceOf(q, "Int"))
146135 then {
151140 }
152141
153142
154-func X () = {
143+func W () = {
155144 let q = getString(this, "admin")
156145 if ($isInstanceOf(q, "String"))
157146 then {
162151 }
163152
164153
165-func Y (Z,aa,ab) = if (if ((Z == H))
166- then (aa == "WAVES")
154+func X (Y,Z,aa) = if (if ((Y == H))
155+ then (Z == "WAVES")
167156 else false)
168- then if (ab)
157+ then if (aa)
169158 then true
170159 else throw("The smart contract does not currently support Waves.")
171- else if ((Z == fromBase58String(aa)))
160+ else if ((Y == fromBase58String(Z)))
172161 then true
173162 else false
174163
175164
176-func ac (M,ad) = {
165+func ab (M,ac) = {
177166 let q = getInteger(this, M)
178167 if ($isInstanceOf(q, "Int"))
179168 then {
180169 let Q = q
181170 Q
182171 }
183- else if (ad)
172+ else if (ac)
184173 then (1 * i)
185174 else 1
186175 }
187176
188177
189178 @Callable(r)
190-func constructor (ae,af,ag,ah,ai,aj,ak,al,am) = {
191- let an = I(ag, F)
179+func constructor (ad,ae,af,ag,ah,ai,aj,ak,al) = {
180+ let am = I(af, F)
192181 if (if ((r.caller == this))
193182 then true
194- else (r.caller == X()))
195- then if ((valueOrElse(getInteger(this, an), 0) == 0))
183+ else (r.caller == W()))
184+ then if ((valueOrElse(getInteger(this, am), 0) == 0))
196185 then {
197- let ao = I(af, ag)
198- let ap = I(af, ah)
199- let aq = I(af, ai)
200- let ar = I(af, F)
201- let as = I(af, ae)
202- let at = I(af, aj)
203- let au = I(ah, ag)
204- let av = I(ah, ai)
205- let aw = I(ah, F)
206- let ax = I(ah, ae)
207- let ay = I(ah, aj)
208- let az = I(ag, ai)
209- let aA = I(ag, ae)
210- let aB = I(ag, aj)
211- let aC = I(ai, F)
212- let aD = I(ai, ae)
213- let aE = I(ai, aj)
214- let aF = I(ae, F)
215- let aG = I(ae, aj)
216- let aH = I(aj, F)
217-[StringEntry(a, ae), StringEntry(A, af), StringEntry(C, ah), StringEntry(B, ag), StringEntry(D, ai), BooleanEntry(G, am), IntegerEntry(g, ak), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, al), IntegerEntry(ao, 1), IntegerEntry(ar, 1), IntegerEntry(ap, 1), IntegerEntry(aq, 1), IntegerEntry(as, 1), IntegerEntry(au, 1), IntegerEntry(av, 1), IntegerEntry(aw, 1), IntegerEntry(aA, 1), IntegerEntry(az, 1), IntegerEntry(an, 1), IntegerEntry(aC, 1), IntegerEntry(aD, 1), IntegerEntry(aF, 1), IntegerEntry(aH, 1), IntegerEntry(aG, 1), IntegerEntry(aE, 1), IntegerEntry(ay, 1), IntegerEntry(at, 1), IntegerEntry(aB, 1), IntegerEntry(ax, 1), StringEntry(E, aj)]
186+ let an = I(ae, af)
187+ let ao = I(ae, ag)
188+ let ap = I(ae, ah)
189+ let aq = I(ae, F)
190+ let ar = I(ae, ad)
191+ let as = I(ae, ai)
192+ let at = I(ag, af)
193+ let au = I(ag, ah)
194+ let av = I(ag, F)
195+ let aw = I(ag, ad)
196+ let ax = I(ag, ai)
197+ let ay = I(af, ah)
198+ let az = I(af, ad)
199+ let aA = I(af, ai)
200+ let aB = I(ah, F)
201+ let aC = I(ah, ad)
202+ let aD = I(ah, ai)
203+ let aE = I(ad, F)
204+ let aF = I(ad, ai)
205+ let aG = I(ai, F)
206+[StringEntry(a, ad), StringEntry(A, ae), StringEntry(C, ag), StringEntry(B, af), StringEntry(D, ah), BooleanEntry(G, al), IntegerEntry(g, aj), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, ak), IntegerEntry(an, 1), IntegerEntry(aq, 1), IntegerEntry(ao, 1), IntegerEntry(ap, 1), IntegerEntry(ar, 1), IntegerEntry(at, 1), IntegerEntry(au, 1), IntegerEntry(av, 1), IntegerEntry(az, 1), IntegerEntry(ay, 1), IntegerEntry(am, 1), IntegerEntry(aB, 1), IntegerEntry(aC, 1), IntegerEntry(aE, 1), IntegerEntry(aG, 1), IntegerEntry(aF, 1), IntegerEntry(aD, 1), IntegerEntry(ax, 1), IntegerEntry(as, 1), IntegerEntry(aA, 1), IntegerEntry(aw, 1), StringEntry(E, ai)]
218207 }
219208 else throw("Smart Contract has been started")
220209 else throw("Only the Admin itself can invoke this function")
223212
224213
225214 @Callable(r)
226-func activate (aI) = if (if ((r.caller == this))
215+func activate (aH) = if (if ((r.caller == this))
227216 then true
228- else (r.caller == X()))
229- then [BooleanEntry(u, aI)]
217+ else (r.caller == W()))
218+ then [BooleanEntry(u, aH)]
230219 else throw("Only the Admin itself can invoke this function")
231220
232221
233222
234223 @Callable(r)
235-func maintenance (aJ,aK,aL) = if (if ((r.caller == this))
224+func maintenance (aI,aJ,aK) = if (if ((r.caller == this))
236225 then true
237- else (r.caller == X()))
238- then [BooleanEntry(v, aJ), BooleanEntry(w, aK), BooleanEntry(x, aL)]
226+ else (r.caller == W()))
227+ then [BooleanEntry(v, aI), BooleanEntry(w, aJ), BooleanEntry(x, aK)]
239228 else throw("Only the Admin itself can invoke this function")
240229
241230
242231
243232 @Callable(r)
244-func percentualRateFeeSwapEdit (aM) = if (if ((r.caller == this))
233+func percentualRateFeeSwapEdit (aL) = if (if ((r.caller == this))
245234 then true
246- else (r.caller == X()))
247- then [IntegerEntry(g, aM)]
235+ else (r.caller == W()))
236+ then [IntegerEntry(g, aL)]
248237 else throw("Only the Admin itself can invoke this function")
249238
250239
251240
252241 @Callable(r)
253-func acceptWaves (aN) = if (if ((r.caller == this))
242+func acceptWaves (aM) = if (if ((r.caller == this))
254243 then true
255- else (r.caller == X()))
256- then [BooleanEntry(G, aN)]
244+ else (r.caller == W()))
245+ then [BooleanEntry(G, aM)]
257246 else throw("Only the Admin itself can invoke this function")
258247
259248
260249
261250 @Callable(r)
262-func blockDistribution (aO) = if (if ((r.caller == this))
251+func blockDistribution (aN) = if (if ((r.caller == this))
263252 then true
264- else (r.caller == X()))
265- then [IntegerEntry(y, aO)]
253+ else (r.caller == W()))
254+ then [IntegerEntry(y, aN)]
266255 else throw("Only the Admin itself can invoke this function")
267256
268257
270259 @Callable(r)
271260 func addAdmin (m) = if (if ((r.caller == this))
272261 then true
273- else (r.caller == X()))
262+ else (r.caller == W()))
274263 then [StringEntry("admin", m)]
275264 else throw("Only the Admin itself can invoke this function")
276265
277266
278267
279268 @Callable(r)
280-func lpAssetCreateForPairPool (J,K,aP,aQ) = {
281- let aR = if ((J == F))
269+func lpAssetCreateForPairPool (J,K,aO,aP) = {
270+ let aQ = if ((J == F))
282271 then F
283272 else s(fromBase58String(J))
284- let aS = if ((K == F))
273+ let aR = if ((K == F))
285274 then F
286275 else s(fromBase58String(K))
287- let aT = if (aQ)
288- then aP
289- else ((aR + "_") + aS)
276+ let aS = if (aP)
277+ then aO
278+ else ((aQ + "_") + aR)
290279 let M = L(I(J, K))
291280 if (if ((r.caller == this))
292281 then true
293- else (r.caller == X()))
282+ else (r.caller == W()))
294283 then if ((M != false))
295284 then {
296- let aU = Issue(aT, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
297- let aV = calculateAssetId(aU)
298-[StringEntry((b + I(J, K)), toBase58String(aV)), aU]
285+ let aT = Issue(aS, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
286+ let aU = calculateAssetId(aT)
287+[StringEntry((b + I(J, K)), toBase58String(aU)), aT]
299288 }
300289 else throw("Invalid Pool Key. Try inverting the assets")
301290 else throw("Only the Admin itself can invoke this function")
304293
305294
306295 @Callable(r)
307-func deposit (aW,T,U) = {
308- let aX = getBooleanValue(this, u)
309- let aY = getBooleanValue(this, x)
310- let aZ = getStringValue(this, a)
311- let ba = if (aW)
296+func deposit (aV,T,U) = {
297+ let aW = getBooleanValue(this, u)
298+ let aX = getBooleanValue(this, x)
299+ let aY = getStringValue(this, a)
300+ let aZ = if (aV)
312301 then getStringValue(this, (b + I(T, U)))
313- else aZ
314- if (aX)
315- then if (!(aY))
316- then if ((r.payments[0].assetId != fromBase58String(ba)))
317- then throw((("Invalid asset! Kindly Deposit Only " + aZ) + " or valid asset lp"))
318- else if (!(aW))
302+ else aY
303+ if (aW)
304+ then if (!(aX))
305+ then if ((r.payments[0].assetId != fromBase58String(aZ)))
306+ then throw((("Invalid asset! Kindly Deposit Only " + aY) + " or valid asset lp"))
307+ else if (!(aV))
319308 then {
320- let bb = toBase58String(r.caller.bytes)
321- let bc = {
322- let q = getInteger(this, bb)
309+ let ba = toBase58String(r.caller.bytes)
310+ let bb = {
311+ let q = getInteger(this, ba)
323312 if ($isInstanceOf(q, "Int"))
324313 then {
325314 let Q = q
327316 }
328317 else 0
329318 }
330- let bd = if ((bc == 0))
319+ let bc = if ((bb == 0))
331320 then height
332- else valueOrElse(getIntegerValue(this, (h + bb)), height)
333- let be = (bc + r.payments[0].amount)
334- let bf = IntegerEntry(bb, be)
335- let bg = IntegerEntry((h + bb), bd)
336- let bh = {
321+ else valueOrElse(getIntegerValue(this, (h + ba)), height)
322+ let bd = (bb + r.payments[0].amount)
323+ let be = IntegerEntry(ba, bd)
324+ let bf = IntegerEntry((h + ba), bc)
325+ let bg = {
337326 let q = getInteger(this, "Total_Tokens_Locked:")
338327 if ($isInstanceOf(q, "Int"))
339328 then {
342331 }
343332 else 0
344333 }
345- let bi = (bh + r.payments[0].amount)
346- let bj = IntegerEntry("Total_Tokens_Locked:", bi)
347-[bf, bg, bj]
334+ let bh = (bg + r.payments[0].amount)
335+ let bi = IntegerEntry("Total_Tokens_Locked:", bh)
336+[be, bf, bi]
348337 }
349338 else {
350- let bk = I(T, U)
351- let M = L(bk)
339+ let bj = I(T, U)
340+ let M = L(bj)
352341 if ((M != false))
353342 then {
354- let bb = toBase58String(r.caller.bytes)
355- let bc = {
356- let q = getInteger(this, ((("STAKE_LP_" + bb) + "_") + bk))
343+ let ba = toBase58String(r.caller.bytes)
344+ let bb = {
345+ let q = getInteger(this, ((("STAKE_LP_" + ba) + "_") + bj))
357346 if ($isInstanceOf(q, "Int"))
358347 then {
359348 let Q = q
361350 }
362351 else 0
363352 }
364- let bd = if ((bc == 0))
353+ let bc = if ((bb == 0))
365354 then height
366- else valueOrElse(getIntegerValue(this, ((((h + "_") + bb) + "_") + bk)), height)
367- let be = (bc + r.payments[0].amount)
368- let bf = IntegerEntry(((("STAKE_LP_" + bb) + "_") + bk), be)
369- let bg = IntegerEntry(((((h + "_") + bb) + "_") + bk), height)
370- let bh = {
371- let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bk))
355+ else valueOrElse(getIntegerValue(this, ((((h + "_") + ba) + "_") + bj)), height)
356+ let bd = (bb + r.payments[0].amount)
357+ let be = IntegerEntry(((("STAKE_LP_" + ba) + "_") + bj), bd)
358+ let bf = IntegerEntry(((((h + "_") + ba) + "_") + bj), height)
359+ let bg = {
360+ let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bj))
372361 if ($isInstanceOf(q, "Int"))
373362 then {
374363 let Q = q
376365 }
377366 else 0
378367 }
379- let bi = (bh + r.payments[0].amount)
380- let bj = IntegerEntry(("Total_Tokens_LP_Locked_" + bk), bi)
381-[bf, bg, bj]
368+ let bh = (bg + r.payments[0].amount)
369+ let bi = IntegerEntry(("Total_Tokens_LP_Locked_" + bj), bh)
370+[be, bf, bi]
382371 }
383372 else throw("Invalid Pool key.")
384373 }
389378
390379
391380 @Callable(r)
392-func remove (aW,T,U,bl) = {
393- let aX = getBooleanValue(this, u)
394- let aY = getBooleanValue(this, x)
395- let bm = r.payments[0]
396- let aZ = fromBase58String(getStringValue(this, a))
397- if (aX)
398- then if (!(aY))
381+func remove (aV,T,U,bk) = {
382+ let aW = getBooleanValue(this, u)
383+ let aX = getBooleanValue(this, x)
384+ let bl = r.payments[0]
385+ let aY = fromBase58String(getStringValue(this, a))
386+ if (aW)
387+ then if (!(aX))
399388 then {
400- let bb = toBase58String(r.caller.bytes)
401- let bc = {
402- let q = if (aW)
403- then getIntegerValue(this, ((("STAKE_LP_" + bb) + "_") + I(T, U)))
404- else getIntegerValue(this, bb)
389+ let ba = toBase58String(r.caller.bytes)
390+ let bb = {
391+ let q = if (aV)
392+ then getIntegerValue(this, ((("STAKE_LP_" + ba) + "_") + I(T, U)))
393+ else getIntegerValue(this, ba)
405394 if ($isInstanceOf(q, "Int"))
406395 then {
407396 let Q = q
409398 }
410399 else 0
411400 }
412- let bn = if (aW)
413- then ((((h + "_") + bb) + "_") + I(T, U))
414- else (h + bb)
415- let bh = if (aW)
401+ let bm = if (aV)
402+ then ((((h + "_") + ba) + "_") + I(T, U))
403+ else (h + ba)
404+ let bg = if (aV)
416405 then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + I(T, U)))
417406 else getIntegerValue(this, "Total_Tokens_Locked:")
418- let bi = (bh - bl)
419- let bo = (height - getIntegerValue(this, bn))
420- let bp = getIntegerValue(this, y)
421- let bq = ((bo * bp) * i)
422- let br = (bq / (bh / bl))
423- if ((0 > bl))
424- then throw(if (aW)
407+ let bh = (bg - bk)
408+ let bn = (height - getIntegerValue(this, bm))
409+ let bo = getIntegerValue(this, y)
410+ let bp = ((bn * bo) * i)
411+ let bq = (bp / (bg / bk))
412+ if ((0 > bk))
413+ then throw(if (aV)
425414 then (((("Can't withdraw negative " + T) + "/") + U) + " amount")
426415 else "Can't withdraw negative AxAi amount")
427416 else {
428- let be = (bc - bl)
429- if ((0 > be))
430- then throw(if (aW)
417+ let bd = (bb - bk)
418+ if ((0 > bd))
419+ then throw(if (aV)
431420 then (((("Not enough Asset Lp " + T) + "/") + U) + " balance")
432421 else "Not enough AxAi balance")
433- else [IntegerEntry(if (aW)
434- then ((("STAKE_LP_" + bb) + "_") + I(T, U))
435- else bb, be), IntegerEntry(if (aW)
422+ else [IntegerEntry(if (aV)
423+ then ((("STAKE_LP_" + ba) + "_") + I(T, U))
424+ else ba, bd), IntegerEntry(if (aV)
436425 then ("Total_Tokens_LP_Locked_" + I(T, U))
437- else "Total_Tokens_Locked:", bi), ScriptTransfer(r.caller, bl, if (aW)
426+ else "Total_Tokens_Locked:", bh), ScriptTransfer(r.caller, bk, if (aV)
438427 then fromBase58String(getStringValue(this, (b + I(T, U))))
439- else aZ), ScriptTransfer(r.caller, br, aZ)]
428+ else aY), ScriptTransfer(r.caller, bq, aY)]
440429 }
441430 }
442431 else throw("liquidity is currently under maintenance.")
447436
448437 @Callable(r)
449438 func addLiquidity (T,U) = {
450- let aX = getBooleanValue(this, u)
451- let bs = getBooleanValue(this, v)
452- let ab = getBooleanValue(this, G)
439+ let aW = getBooleanValue(this, u)
440+ let br = getBooleanValue(this, v)
441+ let aa = getBooleanValue(this, G)
453442 let M = L(I(T, U))
454443 let J = r.payments[0].assetId
455444 let K = r.payments[1].assetId
456- let bt = fromBase58String(getStringValue(this, A))
457- let bu = fromBase58String(getStringValue(this, C))
458- let bv = fromBase58String(getStringValue(this, B))
459- let bw = fromBase58String(getStringValue(this, D))
460- let bx = fromBase58String(getStringValue(this, E))
461- let aZ = fromBase58String(getStringValue(this, a))
462- let ba = getStringValue(this, (b + I(T, U)))
463- let by = if ((2 > ac(((I(T, U) + "_") + T), false)))
445+ let bs = fromBase58String(getStringValue(this, A))
446+ let bt = fromBase58String(getStringValue(this, C))
447+ let bu = fromBase58String(getStringValue(this, B))
448+ let bv = fromBase58String(getStringValue(this, D))
449+ let bw = fromBase58String(getStringValue(this, E))
450+ let aY = fromBase58String(getStringValue(this, a))
451+ let aZ = getStringValue(this, (b + I(T, U)))
452+ let bx = if ((2 > ab(((I(T, U) + "_") + T), false)))
464453 then r.payments[0].amount
465- else ac(((I(T, U) + "_") + T), false)
466- let bz = if ((2 > ac(((I(T, U) + "_") + T), false)))
454+ else ab(((I(T, U) + "_") + T), false)
455+ let by = if ((2 > ab(((I(T, U) + "_") + T), false)))
467456 then r.payments[1].amount
468- else ac(((I(T, U) + "_") + U), false)
469- let bA = ac(ba, true)
470- let bB = ((by + bz) / bA)
471- let bC = (r.payments[0].amount * (bz / by))
472- let bD = (r.payments[1].amount + ((r.payments[1].amount * 2) / 100))
473- let bE = (r.payments[1].amount - ((r.payments[1].amount * 2) / 100))
474- let bF = if (if (if ((r.payments[1].amount == bC))
457+ else ab(((I(T, U) + "_") + U), false)
458+ let bz = ab(aZ, true)
459+ let bA = ((bx + by) / bz)
460+ let bB = (r.payments[0].amount * (by / bx))
461+ let bC = (r.payments[1].amount + ((r.payments[1].amount * 2) / 100))
462+ let bD = (r.payments[1].amount - ((r.payments[1].amount * 2) / 100))
463+ let bE = if (if (if ((r.payments[1].amount == bB))
475464 then true
476- else (bD > r.payments[1].amount))
465+ else (bC > r.payments[1].amount))
477466 then true
478- else (r.payments[1].amount > bE))
467+ else (r.payments[1].amount > bD))
479468 then true
480469 else false
481- if (aX)
482- then if (!(bs))
470+ if (aW)
471+ then if (!(br))
483472 then if (if (if (!((J == K)))
484- then Y(J, T, ab)
473+ then X(J, T, aa)
485474 else false)
486- then Y(K, U, ab)
475+ then X(K, U, aa)
487476 else false)
488- then if (if (if (if (if (if (if (if ((J == bt))
477+ then if (if (if (if (if (if (if (if ((J == bs))
478+ then true
479+ else (J == bt))
489480 then true
490481 else (J == bu))
491482 then true
492483 else (J == bv))
493484 then true
494- else (J == bw))
495- then true
496- else (J == aZ))
485+ else (J == aY))
497486 then true
498487 else (J == H))
499488 then true
500- else (J == bx))
501- then if (if (if (if (if (if ((K == bt))
489+ else (J == bw))
490+ then if (if (if (if (if (if ((K == bs))
491+ then true
492+ else (K == bt))
502493 then true
503494 else (K == bu))
504495 then true
505496 else (K == bv))
506497 then true
507- else (K == bw))
508- then true
509- else (K == aZ))
498+ else (K == aY))
510499 then true
511500 else (K == H))
512501 then true
513- else (K == bx)
502+ else (K == bw)
514503 else false)
515504 then if ((M != false))
516- then if (bF)
505+ then if (bE)
517506 then {
518- let bb = toBase58String(r.caller.bytes)
519- let bc = N(bb, I(T, U))
520- let bG = P(bb, I(T, U), T)
521- let bH = P(bb, I(T, U), U)
522- let bI = R(I(T, U), T)
523- let bJ = R(I(T, U), U)
524- let bK = V(r.payments[1].assetId)
525- let bL = if ((bK == 8))
526- then 0
527- else 2
528- let bM = if ((by == r.payments[0].amount))
507+ let ba = toBase58String(r.caller.bytes)
508+ let bb = N(ba, I(T, U))
509+ let bF = P(ba, I(T, U), T)
510+ let bG = P(ba, I(T, U), U)
511+ let bH = R(I(T, U), T)
512+ let bI = R(I(T, U), U)
513+ let bJ = if ((bx == r.payments[0].amount))
529514 then (1 * i)
530- else ((r.payments[0].amount + r.payments[1].amount) / ((by + bz) / (bA - bL)))
531- let bN = (bG + r.payments[0].amount)
532- let bO = (bH + r.payments[1].amount)
533- let bP = (bc + bM)
534- let bQ = (bI + r.payments[0].amount)
535- let bR = (bJ + r.payments[1].amount)
536-[Reissue(fromBase58String(ba), bM, true), ScriptTransfer(Address(r.caller.bytes), bM, fromBase58String(ba)), IntegerEntry(S(T, U, bb), height), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + T), bN), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + U), bO), IntegerEntry(((I(T, U) + "_") + bb), bP), IntegerEntry(((I(T, U) + "_") + T), bQ), IntegerEntry(((I(T, U) + "_") + U), bR), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(ba, (p(ba) + bM))]
515+ else toInt(((((toBigInt(r.payments[0].amount) * toBigInt(i)) + (toBigInt(r.payments[1].amount) * toBigInt(i))) / (((toBigInt(bx) * toBigInt(i)) + (toBigInt(by) * toBigInt(i))) / (toBigInt(bz) * toBigInt(i)))) / toBigInt(i)))
516+[throw(("details lp" + toString(bJ)))]
537517 }
538- else throw(((((("Payment of invalid 1/1 amounts to the Pool. Try Asset2: {value:" + toString((r.payments[0].amount * (bz / by)))) + "} Received: ") + toString(r.payments[1].amount)) + " Validate: ") + toString(bF)))
518+ else throw(((((("Payment of invalid 1/1 amounts to the Pool. Try Asset2: {value:" + toString((r.payments[0].amount * (by / bx)))) + "} Received: ") + toString(r.payments[1].amount)) + " Validate: ") + toString(bE)))
539519 else throw("Invalid Pool Key.")
540520 else throw("Invalid Asset1 or Asset2!")
541521 else throw("Asset1 cannot be equal to Asset2")
546526
547527
548528 @Callable(r)
549-func removeLiquidity (T,U,bS) = {
550- let bb = toBase58String(r.caller.bytes)
551- let aX = getBooleanValue(this, u)
552- let bs = getBooleanValue(this, v)
553- let ab = getBooleanValue(this, G)
554- let bk = I(T, U)
555- let M = L(bk)
529+func removeLiquidity (T,U,bK) = {
530+ let ba = toBase58String(r.caller.bytes)
531+ let aW = getBooleanValue(this, u)
532+ let br = getBooleanValue(this, v)
533+ let aa = getBooleanValue(this, G)
534+ let bj = I(T, U)
535+ let M = L(bj)
556536 let J = if ((T == F))
557- then if (ab)
537+ then if (aa)
558538 then H
559539 else throw("The smart contract does not currently support Waves.")
560540 else fromBase58String(T)
561541 let K = if ((U == F))
562- then if (ab)
542+ then if (aa)
563543 then H
564544 else throw("The smart contract does not currently support Waves.")
565545 else fromBase58String(U)
566- let bt = fromBase58String(getStringValue(this, A))
567- let bu = fromBase58String(getStringValue(this, C))
568- let bv = fromBase58String(getStringValue(this, B))
569- let bw = fromBase58String(getStringValue(this, D))
570- let aZ = fromBase58String(getStringValue(this, a))
571- let bx = fromBase58String(getStringValue(this, E))
572- let ba = getStringValue(this, (b + I(T, U)))
573- let bc = N(bb, I(T, U))
574- let bT = W(bb, bk)
575- let bU = ac(ba, true)
576- let by = ac(((I(T, U) + "_") + T), false)
577- let bz = ac(((I(T, U) + "_") + U), false)
578- if (aX)
579- then if (!(bs))
546+ let bs = fromBase58String(getStringValue(this, A))
547+ let bt = fromBase58String(getStringValue(this, C))
548+ let bu = fromBase58String(getStringValue(this, B))
549+ let bv = fromBase58String(getStringValue(this, D))
550+ let aY = fromBase58String(getStringValue(this, a))
551+ let bw = fromBase58String(getStringValue(this, E))
552+ let aZ = getStringValue(this, (b + I(T, U)))
553+ let bb = N(ba, I(T, U))
554+ let bL = V(ba, bj)
555+ let bM = ab(aZ, true)
556+ let bx = ab(((I(T, U) + "_") + T), false)
557+ let by = ab(((I(T, U) + "_") + U), false)
558+ if (aW)
559+ then if (!(br))
580560 then if (!((T == U)))
581- then if (if (if (if (if (if (if (if ((J == bt))
561+ then if (if (if (if (if (if (if (if ((J == bs))
562+ then true
563+ else (J == bt))
582564 then true
583565 else (J == bu))
584566 then true
585567 else (J == bv))
586568 then true
587- else (J == bw))
588- then true
589- else (J == aZ))
569+ else (J == aY))
590570 then true
591571 else (J == H))
592572 then true
593- else (J == bx))
594- then if (if (if (if (if (if ((K == bt))
573+ else (J == bw))
574+ then if (if (if (if (if (if ((K == bs))
575+ then true
576+ else (K == bt))
595577 then true
596578 else (K == bu))
597579 then true
598580 else (K == bv))
599581 then true
600- else (K == bw))
601- then true
602- else (K == aZ))
582+ else (K == aY))
603583 then true
604584 else (K == H))
605585 then true
606- else (K == bx)
586+ else (K == bw)
607587 else false)
608588 then if ((M != false))
609- then if (!((bc == 0)))
610- then if (((bc - bT) >= bS))
611- then if (if ((by > 2))
589+ then if (!((bb == 0)))
590+ then if (((bb - bL) >= bK))
591+ then if (if ((bx > 2))
612592 then true
613- else (bz > 2))
593+ else (by > 2))
614594 then {
615- let bV = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bU)) * toBigInt(by)) / toBigInt(i))) - 1)
616- let bW = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bU)) * toBigInt(bz)) / toBigInt(i))) - 1)
617- let bI = R(I(T, U), T)
618- let bJ = R(I(T, U), U)
619- let bG = P(bb, I(T, U), T)
620- let bH = P(bb, I(T, U), U)
621- let bN = (bG - bV)
622- let bO = (bH - bW)
623- let bP = (bc - bS)
624- let bQ = (bI - bV)
625- let bR = (bJ - bW)
626- if ((r.payments[0].assetId == fromBase58String(ba)))
627- then if ((bS == r.payments[0].amount))
628- then [Burn(fromBase58String(ba), bS), ScriptTransfer(Address(r.caller.bytes), bV, J), ScriptTransfer(Address(r.caller.bytes), bW, K), IntegerEntry(S(T, U, bb), height), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + T), bN), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + U), bO), IntegerEntry(((I(T, U) + "_") + bb), bP), IntegerEntry(((I(T, U) + "_") + T), bQ), IntegerEntry(((I(T, U) + "_") + U), bR), IntegerEntry(T, (p(T) - bV)), IntegerEntry(U, (p(U) - bW)), IntegerEntry(ba, (p(ba) - bS))]
629- else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bS)))
595+ let bN = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bM)) * toBigInt(bx)) / toBigInt(i))) - 1)
596+ let bO = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bM)) * toBigInt(by)) / toBigInt(i))) - 1)
597+ let bH = R(I(T, U), T)
598+ let bI = R(I(T, U), U)
599+ let bF = P(ba, I(T, U), T)
600+ let bG = P(ba, I(T, U), U)
601+ let bP = (bF - bN)
602+ let bQ = (bG - bO)
603+ let bR = (bb - bK)
604+ let bS = (bH - bN)
605+ let bT = (bI - bO)
606+ if ((r.payments[0].assetId == fromBase58String(aZ)))
607+ then if ((bK == r.payments[0].amount))
608+ then [Burn(fromBase58String(aZ), bK), ScriptTransfer(Address(r.caller.bytes), bN, J), ScriptTransfer(Address(r.caller.bytes), bO, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bP), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bQ), IntegerEntry(((I(T, U) + "_") + ba), bR), IntegerEntry(((I(T, U) + "_") + T), bS), IntegerEntry(((I(T, U) + "_") + U), bT), IntegerEntry(T, (p(T) - bN)), IntegerEntry(U, (p(U) - bO)), IntegerEntry(aZ, (p(aZ) - bK))]
609+ else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bK)))
630610 else throw("Requires an lp asset as payment to remove locked amounts.")
631611 }
632612 else throw("Pool has no liquidity.")
633- else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bS)))
613+ else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bK)))
634614 else throw("You have no locked values ​​in the pool")
635615 else throw("Invalid Pool Key.")
636616 else throw("Invalid Asset1 or Asset2!")
643623
644624 @Callable(r)
645625 func swap (T,U) = {
646- let bb = toBase58String(r.caller.bytes)
647- let ab = getBooleanValue(this, G)
648- let aX = getBooleanValue(this, u)
649- let bX = getBooleanValue(this, w)
650- let bk = I(T, U)
651- let M = L(bk)
626+ let ba = toBase58String(r.caller.bytes)
627+ let aa = getBooleanValue(this, G)
628+ let aW = getBooleanValue(this, u)
629+ let bU = getBooleanValue(this, w)
630+ let bj = I(T, U)
631+ let M = L(bj)
652632 let J = r.payments[0].assetId
653- let bt = fromBase58String(getStringValue(this, A))
654- let bu = fromBase58String(getStringValue(this, C))
655- let bv = fromBase58String(getStringValue(this, B))
656- let bw = fromBase58String(getStringValue(this, D))
657- let aZ = fromBase58String(getStringValue(this, a))
658- let bx = fromBase58String(getStringValue(this, E))
659- let ba = getStringValue(this, (b + I(T, U)))
660- let bY = ac(((I(T, U) + "_") + T), false)
661- let bZ = ac(((I(T, U) + "_") + U), false)
662- let ca = getIntegerValue(this, g)
663- let cb = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bZ), toBigInt(bY)))
664- let cc = toInt(((cb - ((cb / toBigInt(ca)) * toBigInt(100))) / toBigInt(i)))
665- let cd = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bY), toBigInt(bZ)))
666- let ce = toInt(((cd - ((cd / toBigInt(ca)) * toBigInt(100))) / toBigInt(i)))
667- let cf = if (if ((J == unit))
633+ let bs = fromBase58String(getStringValue(this, A))
634+ let bt = fromBase58String(getStringValue(this, C))
635+ let bu = fromBase58String(getStringValue(this, B))
636+ let bv = fromBase58String(getStringValue(this, D))
637+ let aY = fromBase58String(getStringValue(this, a))
638+ let bw = fromBase58String(getStringValue(this, E))
639+ let aZ = getStringValue(this, (b + I(T, U)))
640+ let bV = ab(((I(T, U) + "_") + T), false)
641+ let bW = ab(((I(T, U) + "_") + U), false)
642+ let bX = getIntegerValue(this, g)
643+ let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bW), toBigInt(bV)))
644+ let bZ = toInt(((bY - ((bY / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
645+ let ca = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bV), toBigInt(bW)))
646+ let cb = toInt(((ca - ((ca / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
647+ let cc = if (if ((J == unit))
668648 then (T == F)
669649 else false)
670- then cc
650+ then bZ
671651 else if ((J == fromBase58String(T)))
672- then cc
673- else ce
674- let cg = if ((J == unit))
652+ then bZ
653+ else cb
654+ let cd = if ((J == unit))
675655 then F
676656 else if ((J == fromBase58String(T)))
677657 then T
678658 else U
679- let ch = if ((J == unit))
659+ let ce = if ((J == unit))
680660 then F
681661 else if ((J == fromBase58String(T)))
682662 then U
683663 else T
684- let ci = if ((J == unit))
664+ let cf = if ((J == unit))
685665 then H
686666 else if ((J == fromBase58String(T)))
687667 then fromBase58String(U)
688668 else fromBase58String(T)
689- if (aX)
690- then if (!(bX))
669+ if (aW)
670+ then if (!(bU))
691671 then if (if (!((T == U)))
692- then if (Y(J, T, ab))
672+ then if (X(J, T, aa))
693673 then true
694- else Y(J, U, ab)
674+ else X(J, U, aa)
695675 else false)
696- then if (if (if (if (if (if (if ((J == bt))
676+ then if (if (if (if (if (if (if ((J == bs))
677+ then true
678+ else (J == bt))
697679 then true
698680 else (J == bu))
699681 then true
700682 else (J == bv))
701683 then true
684+ else (J == aY))
685+ then true
702686 else (J == bw))
703- then true
704- else (J == aZ))
705- then true
706- else (J == bx))
707687 then true
708688 else (J == H))
709689 then if ((M != false))
710- then if ((r.payments[1].assetId == aZ))
690+ then if ((r.payments[1].assetId == aY))
711691 then if ((r.payments[1].amount == 300000))
712- then if (if ((bY > 2))
692+ then if (if ((bV > 2))
713693 then true
714- else (bZ > 2))
715- then [ScriptTransfer(Address(r.caller.bytes), cf, ci), IntegerEntry(ch, (p(ch) - cf)), IntegerEntry(((I(T, U) + "_") + ch), (R(I(T, U), ch) - cf)), IntegerEntry(((I(T, U) + "_") + cg), (R(I(T, U), cg) + r.payments[0].amount)), IntegerEntry(cg, (p(cg) + r.payments[0].amount)), IntegerEntry(toBase58String(aZ), (p(toBase58String(aZ)) + r.payments[1].amount))]
694+ else (bW > 2))
695+ then [ScriptTransfer(Address(r.caller.bytes), cc, cf), IntegerEntry(ce, (p(ce) - cc)), IntegerEntry(((I(T, U) + "_") + ce), (R(I(T, U), ce) - cc)), IntegerEntry(((I(T, U) + "_") + cd), (R(I(T, U), cd) + r.payments[0].amount)), IntegerEntry(cd, (p(cd) + r.payments[0].amount)), IntegerEntry(toBase58String(aY), (p(toBase58String(aY)) + r.payments[1].amount))]
716696 else throw("Pool has no liquidity.")
717697 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
718698 else throw("Invalid rate asset")
724704 }
725705
726706
727-@Verifier(cj)
728-func ck () = {
729- let q = cj
707+@Verifier(cg)
708+func ch () = {
709+ let q = cg
730710 if ($isInstanceOf(q, "Order"))
731711 then {
732- let cl = q
712+ let ci = q
733713 true
734714 }
735715 else if ($isInstanceOf(q, "ExchangeTransaction"))
736716 then {
737- let cm = q
717+ let cj = q
738718 true
739719 }
740720 else if ($isInstanceOf(q, "TransferTransaction"))
741721 then {
742- let cn = q
743- (cn.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
722+ let ck = q
723+ (ck.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
744724 }
745- else sigVerify(cj.bodyBytes, cj.proofs[0], cj.senderPublicKey)
725+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
746726 }
747727
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "main_asset"
55
66 let b = "lp_asset_"
77
88 let c = "pool__"
99
1010 let d = "STAKING_AMOUNT_"
1111
1212 let e = "LEASE_AMOUNT_"
1313
1414 let f = "ID_"
1515
1616 let g = "percentage_rate_fee"
1717
1818 let h = "Deposit_Height_Of_"
1919
2020 let i = 100000000
2121
2222 let j = 1000000
2323
2424 let k = 10000000000
2525
2626 func l (m) = toString(valueOrErrorMessage(addressFromString(m), (("Can't parse " + m) + " as address")))
2727
2828
2929 func n (o) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(o))).id, (("Asset Id: " + o) + " is invalid.")))
3030
3131
3232 func p (o) = {
3333 let q = getInteger(this, o)
3434 if ($isInstanceOf(q, "Int"))
3535 then {
3636 let r = q
3737 r
3838 }
3939 else 0
4040 }
4141
4242
4343 func s (o) = {
4444 let q = assetInfo(o)
4545 if ($isInstanceOf(q, "Asset"))
4646 then {
4747 let t = q
4848 t.name
4949 }
5050 else throw("Can't find asset")
5151 }
5252
5353
5454 let u = "activate"
5555
5656 let v = "activate_pools"
5757
5858 let w = "activate_swap"
5959
6060 let x = "activate_liquidity"
6161
6262 let y = "block_distribuition"
6363
6464 let z = "Total_Tokens_Locked_"
6565
6666 let A = "usdn_asset"
6767
6868 let B = "usdt_asset"
6969
7070 let C = "usdc_asset"
7171
7272 let D = "ngnn_asset"
7373
7474 let E = "eurn_asset"
7575
7676 let F = "WAVES"
7777
7878 let G = "accept_waves"
7979
8080 let H = unit
8181
8282 func I (J,K) = (((c + J) + "_") + K)
8383
8484
8585 func L (M) = {
8686 let q = getInteger(this, M)
8787 if ($isInstanceOf(q, "Int"))
8888 then {
8989 let r = q
9090 r
9191 }
9292 else false
9393 }
9494
9595
9696 func N (m,M) = {
9797 let q = getInteger(this, ((M + "_") + m))
9898 if ($isInstanceOf(q, "Int"))
9999 then {
100100 let O = q
101101 O
102102 }
103103 else 0
104104 }
105105
106106
107107 func P (m,M,t) = {
108108 let q = getInteger(this, ((((m + "_") + M) + "_") + t))
109109 if ($isInstanceOf(q, "Int"))
110110 then {
111111 let Q = q
112112 Q
113113 }
114114 else 0
115115 }
116116
117117
118118 func R (M,t) = {
119119 let q = getInteger(this, ((M + "_") + t))
120120 if ($isInstanceOf(q, "Int"))
121121 then {
122122 let Q = q
123123 Q
124124 }
125125 else 1
126126 }
127127
128128
129129 func S (T,U,m) = (((h + I(T, U)) + "_") + m)
130130
131131
132-func V (t) = {
133- let q = t
134- if ($isInstanceOf(q, "ByteVector"))
135- then {
136- let O = q
137- value(assetInfo(O)).decimals
138- }
139- else 8
140- }
141-
142-
143-func W (m,M) = {
132+func V (m,M) = {
144133 let q = getInteger(this, ((("STAKE_LP_" + m) + "_") + M))
145134 if ($isInstanceOf(q, "Int"))
146135 then {
147136 let Q = q
148137 Q
149138 }
150139 else 0
151140 }
152141
153142
154-func X () = {
143+func W () = {
155144 let q = getString(this, "admin")
156145 if ($isInstanceOf(q, "String"))
157146 then {
158147 let O = q
159148 Address(fromBase58String(O))
160149 }
161150 else this
162151 }
163152
164153
165-func Y (Z,aa,ab) = if (if ((Z == H))
166- then (aa == "WAVES")
154+func X (Y,Z,aa) = if (if ((Y == H))
155+ then (Z == "WAVES")
167156 else false)
168- then if (ab)
157+ then if (aa)
169158 then true
170159 else throw("The smart contract does not currently support Waves.")
171- else if ((Z == fromBase58String(aa)))
160+ else if ((Y == fromBase58String(Z)))
172161 then true
173162 else false
174163
175164
176-func ac (M,ad) = {
165+func ab (M,ac) = {
177166 let q = getInteger(this, M)
178167 if ($isInstanceOf(q, "Int"))
179168 then {
180169 let Q = q
181170 Q
182171 }
183- else if (ad)
172+ else if (ac)
184173 then (1 * i)
185174 else 1
186175 }
187176
188177
189178 @Callable(r)
190-func constructor (ae,af,ag,ah,ai,aj,ak,al,am) = {
191- let an = I(ag, F)
179+func constructor (ad,ae,af,ag,ah,ai,aj,ak,al) = {
180+ let am = I(af, F)
192181 if (if ((r.caller == this))
193182 then true
194- else (r.caller == X()))
195- then if ((valueOrElse(getInteger(this, an), 0) == 0))
183+ else (r.caller == W()))
184+ then if ((valueOrElse(getInteger(this, am), 0) == 0))
196185 then {
197- let ao = I(af, ag)
198- let ap = I(af, ah)
199- let aq = I(af, ai)
200- let ar = I(af, F)
201- let as = I(af, ae)
202- let at = I(af, aj)
203- let au = I(ah, ag)
204- let av = I(ah, ai)
205- let aw = I(ah, F)
206- let ax = I(ah, ae)
207- let ay = I(ah, aj)
208- let az = I(ag, ai)
209- let aA = I(ag, ae)
210- let aB = I(ag, aj)
211- let aC = I(ai, F)
212- let aD = I(ai, ae)
213- let aE = I(ai, aj)
214- let aF = I(ae, F)
215- let aG = I(ae, aj)
216- let aH = I(aj, F)
217-[StringEntry(a, ae), StringEntry(A, af), StringEntry(C, ah), StringEntry(B, ag), StringEntry(D, ai), BooleanEntry(G, am), IntegerEntry(g, ak), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, al), IntegerEntry(ao, 1), IntegerEntry(ar, 1), IntegerEntry(ap, 1), IntegerEntry(aq, 1), IntegerEntry(as, 1), IntegerEntry(au, 1), IntegerEntry(av, 1), IntegerEntry(aw, 1), IntegerEntry(aA, 1), IntegerEntry(az, 1), IntegerEntry(an, 1), IntegerEntry(aC, 1), IntegerEntry(aD, 1), IntegerEntry(aF, 1), IntegerEntry(aH, 1), IntegerEntry(aG, 1), IntegerEntry(aE, 1), IntegerEntry(ay, 1), IntegerEntry(at, 1), IntegerEntry(aB, 1), IntegerEntry(ax, 1), StringEntry(E, aj)]
186+ let an = I(ae, af)
187+ let ao = I(ae, ag)
188+ let ap = I(ae, ah)
189+ let aq = I(ae, F)
190+ let ar = I(ae, ad)
191+ let as = I(ae, ai)
192+ let at = I(ag, af)
193+ let au = I(ag, ah)
194+ let av = I(ag, F)
195+ let aw = I(ag, ad)
196+ let ax = I(ag, ai)
197+ let ay = I(af, ah)
198+ let az = I(af, ad)
199+ let aA = I(af, ai)
200+ let aB = I(ah, F)
201+ let aC = I(ah, ad)
202+ let aD = I(ah, ai)
203+ let aE = I(ad, F)
204+ let aF = I(ad, ai)
205+ let aG = I(ai, F)
206+[StringEntry(a, ad), StringEntry(A, ae), StringEntry(C, ag), StringEntry(B, af), StringEntry(D, ah), BooleanEntry(G, al), IntegerEntry(g, aj), BooleanEntry(u, true), BooleanEntry(w, false), BooleanEntry(v, false), BooleanEntry(x, false), IntegerEntry(y, ak), IntegerEntry(an, 1), IntegerEntry(aq, 1), IntegerEntry(ao, 1), IntegerEntry(ap, 1), IntegerEntry(ar, 1), IntegerEntry(at, 1), IntegerEntry(au, 1), IntegerEntry(av, 1), IntegerEntry(az, 1), IntegerEntry(ay, 1), IntegerEntry(am, 1), IntegerEntry(aB, 1), IntegerEntry(aC, 1), IntegerEntry(aE, 1), IntegerEntry(aG, 1), IntegerEntry(aF, 1), IntegerEntry(aD, 1), IntegerEntry(ax, 1), IntegerEntry(as, 1), IntegerEntry(aA, 1), IntegerEntry(aw, 1), StringEntry(E, ai)]
218207 }
219208 else throw("Smart Contract has been started")
220209 else throw("Only the Admin itself can invoke this function")
221210 }
222211
223212
224213
225214 @Callable(r)
226-func activate (aI) = if (if ((r.caller == this))
215+func activate (aH) = if (if ((r.caller == this))
227216 then true
228- else (r.caller == X()))
229- then [BooleanEntry(u, aI)]
217+ else (r.caller == W()))
218+ then [BooleanEntry(u, aH)]
230219 else throw("Only the Admin itself can invoke this function")
231220
232221
233222
234223 @Callable(r)
235-func maintenance (aJ,aK,aL) = if (if ((r.caller == this))
224+func maintenance (aI,aJ,aK) = if (if ((r.caller == this))
236225 then true
237- else (r.caller == X()))
238- then [BooleanEntry(v, aJ), BooleanEntry(w, aK), BooleanEntry(x, aL)]
226+ else (r.caller == W()))
227+ then [BooleanEntry(v, aI), BooleanEntry(w, aJ), BooleanEntry(x, aK)]
239228 else throw("Only the Admin itself can invoke this function")
240229
241230
242231
243232 @Callable(r)
244-func percentualRateFeeSwapEdit (aM) = if (if ((r.caller == this))
233+func percentualRateFeeSwapEdit (aL) = if (if ((r.caller == this))
245234 then true
246- else (r.caller == X()))
247- then [IntegerEntry(g, aM)]
235+ else (r.caller == W()))
236+ then [IntegerEntry(g, aL)]
248237 else throw("Only the Admin itself can invoke this function")
249238
250239
251240
252241 @Callable(r)
253-func acceptWaves (aN) = if (if ((r.caller == this))
242+func acceptWaves (aM) = if (if ((r.caller == this))
254243 then true
255- else (r.caller == X()))
256- then [BooleanEntry(G, aN)]
244+ else (r.caller == W()))
245+ then [BooleanEntry(G, aM)]
257246 else throw("Only the Admin itself can invoke this function")
258247
259248
260249
261250 @Callable(r)
262-func blockDistribution (aO) = if (if ((r.caller == this))
251+func blockDistribution (aN) = if (if ((r.caller == this))
263252 then true
264- else (r.caller == X()))
265- then [IntegerEntry(y, aO)]
253+ else (r.caller == W()))
254+ then [IntegerEntry(y, aN)]
266255 else throw("Only the Admin itself can invoke this function")
267256
268257
269258
270259 @Callable(r)
271260 func addAdmin (m) = if (if ((r.caller == this))
272261 then true
273- else (r.caller == X()))
262+ else (r.caller == W()))
274263 then [StringEntry("admin", m)]
275264 else throw("Only the Admin itself can invoke this function")
276265
277266
278267
279268 @Callable(r)
280-func lpAssetCreateForPairPool (J,K,aP,aQ) = {
281- let aR = if ((J == F))
269+func lpAssetCreateForPairPool (J,K,aO,aP) = {
270+ let aQ = if ((J == F))
282271 then F
283272 else s(fromBase58String(J))
284- let aS = if ((K == F))
273+ let aR = if ((K == F))
285274 then F
286275 else s(fromBase58String(K))
287- let aT = if (aQ)
288- then aP
289- else ((aR + "_") + aS)
276+ let aS = if (aP)
277+ then aO
278+ else ((aQ + "_") + aR)
290279 let M = L(I(J, K))
291280 if (if ((r.caller == this))
292281 then true
293- else (r.caller == X()))
282+ else (r.caller == W()))
294283 then if ((M != false))
295284 then {
296- let aU = Issue(aT, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
297- let aV = calculateAssetId(aU)
298-[StringEntry((b + I(J, K)), toBase58String(aV)), aU]
285+ let aT = Issue(aS, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
286+ let aU = calculateAssetId(aT)
287+[StringEntry((b + I(J, K)), toBase58String(aU)), aT]
299288 }
300289 else throw("Invalid Pool Key. Try inverting the assets")
301290 else throw("Only the Admin itself can invoke this function")
302291 }
303292
304293
305294
306295 @Callable(r)
307-func deposit (aW,T,U) = {
308- let aX = getBooleanValue(this, u)
309- let aY = getBooleanValue(this, x)
310- let aZ = getStringValue(this, a)
311- let ba = if (aW)
296+func deposit (aV,T,U) = {
297+ let aW = getBooleanValue(this, u)
298+ let aX = getBooleanValue(this, x)
299+ let aY = getStringValue(this, a)
300+ let aZ = if (aV)
312301 then getStringValue(this, (b + I(T, U)))
313- else aZ
314- if (aX)
315- then if (!(aY))
316- then if ((r.payments[0].assetId != fromBase58String(ba)))
317- then throw((("Invalid asset! Kindly Deposit Only " + aZ) + " or valid asset lp"))
318- else if (!(aW))
302+ else aY
303+ if (aW)
304+ then if (!(aX))
305+ then if ((r.payments[0].assetId != fromBase58String(aZ)))
306+ then throw((("Invalid asset! Kindly Deposit Only " + aY) + " or valid asset lp"))
307+ else if (!(aV))
319308 then {
320- let bb = toBase58String(r.caller.bytes)
321- let bc = {
322- let q = getInteger(this, bb)
309+ let ba = toBase58String(r.caller.bytes)
310+ let bb = {
311+ let q = getInteger(this, ba)
323312 if ($isInstanceOf(q, "Int"))
324313 then {
325314 let Q = q
326315 Q
327316 }
328317 else 0
329318 }
330- let bd = if ((bc == 0))
319+ let bc = if ((bb == 0))
331320 then height
332- else valueOrElse(getIntegerValue(this, (h + bb)), height)
333- let be = (bc + r.payments[0].amount)
334- let bf = IntegerEntry(bb, be)
335- let bg = IntegerEntry((h + bb), bd)
336- let bh = {
321+ else valueOrElse(getIntegerValue(this, (h + ba)), height)
322+ let bd = (bb + r.payments[0].amount)
323+ let be = IntegerEntry(ba, bd)
324+ let bf = IntegerEntry((h + ba), bc)
325+ let bg = {
337326 let q = getInteger(this, "Total_Tokens_Locked:")
338327 if ($isInstanceOf(q, "Int"))
339328 then {
340329 let Q = q
341330 Q
342331 }
343332 else 0
344333 }
345- let bi = (bh + r.payments[0].amount)
346- let bj = IntegerEntry("Total_Tokens_Locked:", bi)
347-[bf, bg, bj]
334+ let bh = (bg + r.payments[0].amount)
335+ let bi = IntegerEntry("Total_Tokens_Locked:", bh)
336+[be, bf, bi]
348337 }
349338 else {
350- let bk = I(T, U)
351- let M = L(bk)
339+ let bj = I(T, U)
340+ let M = L(bj)
352341 if ((M != false))
353342 then {
354- let bb = toBase58String(r.caller.bytes)
355- let bc = {
356- let q = getInteger(this, ((("STAKE_LP_" + bb) + "_") + bk))
343+ let ba = toBase58String(r.caller.bytes)
344+ let bb = {
345+ let q = getInteger(this, ((("STAKE_LP_" + ba) + "_") + bj))
357346 if ($isInstanceOf(q, "Int"))
358347 then {
359348 let Q = q
360349 Q
361350 }
362351 else 0
363352 }
364- let bd = if ((bc == 0))
353+ let bc = if ((bb == 0))
365354 then height
366- else valueOrElse(getIntegerValue(this, ((((h + "_") + bb) + "_") + bk)), height)
367- let be = (bc + r.payments[0].amount)
368- let bf = IntegerEntry(((("STAKE_LP_" + bb) + "_") + bk), be)
369- let bg = IntegerEntry(((((h + "_") + bb) + "_") + bk), height)
370- let bh = {
371- let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bk))
355+ else valueOrElse(getIntegerValue(this, ((((h + "_") + ba) + "_") + bj)), height)
356+ let bd = (bb + r.payments[0].amount)
357+ let be = IntegerEntry(((("STAKE_LP_" + ba) + "_") + bj), bd)
358+ let bf = IntegerEntry(((((h + "_") + ba) + "_") + bj), height)
359+ let bg = {
360+ let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bj))
372361 if ($isInstanceOf(q, "Int"))
373362 then {
374363 let Q = q
375364 Q
376365 }
377366 else 0
378367 }
379- let bi = (bh + r.payments[0].amount)
380- let bj = IntegerEntry(("Total_Tokens_LP_Locked_" + bk), bi)
381-[bf, bg, bj]
368+ let bh = (bg + r.payments[0].amount)
369+ let bi = IntegerEntry(("Total_Tokens_LP_Locked_" + bj), bh)
370+[be, bf, bi]
382371 }
383372 else throw("Invalid Pool key.")
384373 }
385374 else throw("liquidity is currently under maintenance.")
386375 else throw("dApp is currently under maintenance.")
387376 }
388377
389378
390379
391380 @Callable(r)
392-func remove (aW,T,U,bl) = {
393- let aX = getBooleanValue(this, u)
394- let aY = getBooleanValue(this, x)
395- let bm = r.payments[0]
396- let aZ = fromBase58String(getStringValue(this, a))
397- if (aX)
398- then if (!(aY))
381+func remove (aV,T,U,bk) = {
382+ let aW = getBooleanValue(this, u)
383+ let aX = getBooleanValue(this, x)
384+ let bl = r.payments[0]
385+ let aY = fromBase58String(getStringValue(this, a))
386+ if (aW)
387+ then if (!(aX))
399388 then {
400- let bb = toBase58String(r.caller.bytes)
401- let bc = {
402- let q = if (aW)
403- then getIntegerValue(this, ((("STAKE_LP_" + bb) + "_") + I(T, U)))
404- else getIntegerValue(this, bb)
389+ let ba = toBase58String(r.caller.bytes)
390+ let bb = {
391+ let q = if (aV)
392+ then getIntegerValue(this, ((("STAKE_LP_" + ba) + "_") + I(T, U)))
393+ else getIntegerValue(this, ba)
405394 if ($isInstanceOf(q, "Int"))
406395 then {
407396 let Q = q
408397 Q
409398 }
410399 else 0
411400 }
412- let bn = if (aW)
413- then ((((h + "_") + bb) + "_") + I(T, U))
414- else (h + bb)
415- let bh = if (aW)
401+ let bm = if (aV)
402+ then ((((h + "_") + ba) + "_") + I(T, U))
403+ else (h + ba)
404+ let bg = if (aV)
416405 then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + I(T, U)))
417406 else getIntegerValue(this, "Total_Tokens_Locked:")
418- let bi = (bh - bl)
419- let bo = (height - getIntegerValue(this, bn))
420- let bp = getIntegerValue(this, y)
421- let bq = ((bo * bp) * i)
422- let br = (bq / (bh / bl))
423- if ((0 > bl))
424- then throw(if (aW)
407+ let bh = (bg - bk)
408+ let bn = (height - getIntegerValue(this, bm))
409+ let bo = getIntegerValue(this, y)
410+ let bp = ((bn * bo) * i)
411+ let bq = (bp / (bg / bk))
412+ if ((0 > bk))
413+ then throw(if (aV)
425414 then (((("Can't withdraw negative " + T) + "/") + U) + " amount")
426415 else "Can't withdraw negative AxAi amount")
427416 else {
428- let be = (bc - bl)
429- if ((0 > be))
430- then throw(if (aW)
417+ let bd = (bb - bk)
418+ if ((0 > bd))
419+ then throw(if (aV)
431420 then (((("Not enough Asset Lp " + T) + "/") + U) + " balance")
432421 else "Not enough AxAi balance")
433- else [IntegerEntry(if (aW)
434- then ((("STAKE_LP_" + bb) + "_") + I(T, U))
435- else bb, be), IntegerEntry(if (aW)
422+ else [IntegerEntry(if (aV)
423+ then ((("STAKE_LP_" + ba) + "_") + I(T, U))
424+ else ba, bd), IntegerEntry(if (aV)
436425 then ("Total_Tokens_LP_Locked_" + I(T, U))
437- else "Total_Tokens_Locked:", bi), ScriptTransfer(r.caller, bl, if (aW)
426+ else "Total_Tokens_Locked:", bh), ScriptTransfer(r.caller, bk, if (aV)
438427 then fromBase58String(getStringValue(this, (b + I(T, U))))
439- else aZ), ScriptTransfer(r.caller, br, aZ)]
428+ else aY), ScriptTransfer(r.caller, bq, aY)]
440429 }
441430 }
442431 else throw("liquidity is currently under maintenance.")
443432 else throw("dApp is currently under maintenance.")
444433 }
445434
446435
447436
448437 @Callable(r)
449438 func addLiquidity (T,U) = {
450- let aX = getBooleanValue(this, u)
451- let bs = getBooleanValue(this, v)
452- let ab = getBooleanValue(this, G)
439+ let aW = getBooleanValue(this, u)
440+ let br = getBooleanValue(this, v)
441+ let aa = getBooleanValue(this, G)
453442 let M = L(I(T, U))
454443 let J = r.payments[0].assetId
455444 let K = r.payments[1].assetId
456- let bt = fromBase58String(getStringValue(this, A))
457- let bu = fromBase58String(getStringValue(this, C))
458- let bv = fromBase58String(getStringValue(this, B))
459- let bw = fromBase58String(getStringValue(this, D))
460- let bx = fromBase58String(getStringValue(this, E))
461- let aZ = fromBase58String(getStringValue(this, a))
462- let ba = getStringValue(this, (b + I(T, U)))
463- let by = if ((2 > ac(((I(T, U) + "_") + T), false)))
445+ let bs = fromBase58String(getStringValue(this, A))
446+ let bt = fromBase58String(getStringValue(this, C))
447+ let bu = fromBase58String(getStringValue(this, B))
448+ let bv = fromBase58String(getStringValue(this, D))
449+ let bw = fromBase58String(getStringValue(this, E))
450+ let aY = fromBase58String(getStringValue(this, a))
451+ let aZ = getStringValue(this, (b + I(T, U)))
452+ let bx = if ((2 > ab(((I(T, U) + "_") + T), false)))
464453 then r.payments[0].amount
465- else ac(((I(T, U) + "_") + T), false)
466- let bz = if ((2 > ac(((I(T, U) + "_") + T), false)))
454+ else ab(((I(T, U) + "_") + T), false)
455+ let by = if ((2 > ab(((I(T, U) + "_") + T), false)))
467456 then r.payments[1].amount
468- else ac(((I(T, U) + "_") + U), false)
469- let bA = ac(ba, true)
470- let bB = ((by + bz) / bA)
471- let bC = (r.payments[0].amount * (bz / by))
472- let bD = (r.payments[1].amount + ((r.payments[1].amount * 2) / 100))
473- let bE = (r.payments[1].amount - ((r.payments[1].amount * 2) / 100))
474- let bF = if (if (if ((r.payments[1].amount == bC))
457+ else ab(((I(T, U) + "_") + U), false)
458+ let bz = ab(aZ, true)
459+ let bA = ((bx + by) / bz)
460+ let bB = (r.payments[0].amount * (by / bx))
461+ let bC = (r.payments[1].amount + ((r.payments[1].amount * 2) / 100))
462+ let bD = (r.payments[1].amount - ((r.payments[1].amount * 2) / 100))
463+ let bE = if (if (if ((r.payments[1].amount == bB))
475464 then true
476- else (bD > r.payments[1].amount))
465+ else (bC > r.payments[1].amount))
477466 then true
478- else (r.payments[1].amount > bE))
467+ else (r.payments[1].amount > bD))
479468 then true
480469 else false
481- if (aX)
482- then if (!(bs))
470+ if (aW)
471+ then if (!(br))
483472 then if (if (if (!((J == K)))
484- then Y(J, T, ab)
473+ then X(J, T, aa)
485474 else false)
486- then Y(K, U, ab)
475+ then X(K, U, aa)
487476 else false)
488- then if (if (if (if (if (if (if (if ((J == bt))
477+ then if (if (if (if (if (if (if (if ((J == bs))
478+ then true
479+ else (J == bt))
489480 then true
490481 else (J == bu))
491482 then true
492483 else (J == bv))
493484 then true
494- else (J == bw))
495- then true
496- else (J == aZ))
485+ else (J == aY))
497486 then true
498487 else (J == H))
499488 then true
500- else (J == bx))
501- then if (if (if (if (if (if ((K == bt))
489+ else (J == bw))
490+ then if (if (if (if (if (if ((K == bs))
491+ then true
492+ else (K == bt))
502493 then true
503494 else (K == bu))
504495 then true
505496 else (K == bv))
506497 then true
507- else (K == bw))
508- then true
509- else (K == aZ))
498+ else (K == aY))
510499 then true
511500 else (K == H))
512501 then true
513- else (K == bx)
502+ else (K == bw)
514503 else false)
515504 then if ((M != false))
516- then if (bF)
505+ then if (bE)
517506 then {
518- let bb = toBase58String(r.caller.bytes)
519- let bc = N(bb, I(T, U))
520- let bG = P(bb, I(T, U), T)
521- let bH = P(bb, I(T, U), U)
522- let bI = R(I(T, U), T)
523- let bJ = R(I(T, U), U)
524- let bK = V(r.payments[1].assetId)
525- let bL = if ((bK == 8))
526- then 0
527- else 2
528- let bM = if ((by == r.payments[0].amount))
507+ let ba = toBase58String(r.caller.bytes)
508+ let bb = N(ba, I(T, U))
509+ let bF = P(ba, I(T, U), T)
510+ let bG = P(ba, I(T, U), U)
511+ let bH = R(I(T, U), T)
512+ let bI = R(I(T, U), U)
513+ let bJ = if ((bx == r.payments[0].amount))
529514 then (1 * i)
530- else ((r.payments[0].amount + r.payments[1].amount) / ((by + bz) / (bA - bL)))
531- let bN = (bG + r.payments[0].amount)
532- let bO = (bH + r.payments[1].amount)
533- let bP = (bc + bM)
534- let bQ = (bI + r.payments[0].amount)
535- let bR = (bJ + r.payments[1].amount)
536-[Reissue(fromBase58String(ba), bM, true), ScriptTransfer(Address(r.caller.bytes), bM, fromBase58String(ba)), IntegerEntry(S(T, U, bb), height), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + T), bN), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + U), bO), IntegerEntry(((I(T, U) + "_") + bb), bP), IntegerEntry(((I(T, U) + "_") + T), bQ), IntegerEntry(((I(T, U) + "_") + U), bR), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(ba, (p(ba) + bM))]
515+ else toInt(((((toBigInt(r.payments[0].amount) * toBigInt(i)) + (toBigInt(r.payments[1].amount) * toBigInt(i))) / (((toBigInt(bx) * toBigInt(i)) + (toBigInt(by) * toBigInt(i))) / (toBigInt(bz) * toBigInt(i)))) / toBigInt(i)))
516+[throw(("details lp" + toString(bJ)))]
537517 }
538- else throw(((((("Payment of invalid 1/1 amounts to the Pool. Try Asset2: {value:" + toString((r.payments[0].amount * (bz / by)))) + "} Received: ") + toString(r.payments[1].amount)) + " Validate: ") + toString(bF)))
518+ else throw(((((("Payment of invalid 1/1 amounts to the Pool. Try Asset2: {value:" + toString((r.payments[0].amount * (by / bx)))) + "} Received: ") + toString(r.payments[1].amount)) + " Validate: ") + toString(bE)))
539519 else throw("Invalid Pool Key.")
540520 else throw("Invalid Asset1 or Asset2!")
541521 else throw("Asset1 cannot be equal to Asset2")
542522 else throw("liquidity is currently under maintenance.")
543523 else throw("dApp is currently under maintenance.")
544524 }
545525
546526
547527
548528 @Callable(r)
549-func removeLiquidity (T,U,bS) = {
550- let bb = toBase58String(r.caller.bytes)
551- let aX = getBooleanValue(this, u)
552- let bs = getBooleanValue(this, v)
553- let ab = getBooleanValue(this, G)
554- let bk = I(T, U)
555- let M = L(bk)
529+func removeLiquidity (T,U,bK) = {
530+ let ba = toBase58String(r.caller.bytes)
531+ let aW = getBooleanValue(this, u)
532+ let br = getBooleanValue(this, v)
533+ let aa = getBooleanValue(this, G)
534+ let bj = I(T, U)
535+ let M = L(bj)
556536 let J = if ((T == F))
557- then if (ab)
537+ then if (aa)
558538 then H
559539 else throw("The smart contract does not currently support Waves.")
560540 else fromBase58String(T)
561541 let K = if ((U == F))
562- then if (ab)
542+ then if (aa)
563543 then H
564544 else throw("The smart contract does not currently support Waves.")
565545 else fromBase58String(U)
566- let bt = fromBase58String(getStringValue(this, A))
567- let bu = fromBase58String(getStringValue(this, C))
568- let bv = fromBase58String(getStringValue(this, B))
569- let bw = fromBase58String(getStringValue(this, D))
570- let aZ = fromBase58String(getStringValue(this, a))
571- let bx = fromBase58String(getStringValue(this, E))
572- let ba = getStringValue(this, (b + I(T, U)))
573- let bc = N(bb, I(T, U))
574- let bT = W(bb, bk)
575- let bU = ac(ba, true)
576- let by = ac(((I(T, U) + "_") + T), false)
577- let bz = ac(((I(T, U) + "_") + U), false)
578- if (aX)
579- then if (!(bs))
546+ let bs = fromBase58String(getStringValue(this, A))
547+ let bt = fromBase58String(getStringValue(this, C))
548+ let bu = fromBase58String(getStringValue(this, B))
549+ let bv = fromBase58String(getStringValue(this, D))
550+ let aY = fromBase58String(getStringValue(this, a))
551+ let bw = fromBase58String(getStringValue(this, E))
552+ let aZ = getStringValue(this, (b + I(T, U)))
553+ let bb = N(ba, I(T, U))
554+ let bL = V(ba, bj)
555+ let bM = ab(aZ, true)
556+ let bx = ab(((I(T, U) + "_") + T), false)
557+ let by = ab(((I(T, U) + "_") + U), false)
558+ if (aW)
559+ then if (!(br))
580560 then if (!((T == U)))
581- then if (if (if (if (if (if (if (if ((J == bt))
561+ then if (if (if (if (if (if (if (if ((J == bs))
562+ then true
563+ else (J == bt))
582564 then true
583565 else (J == bu))
584566 then true
585567 else (J == bv))
586568 then true
587- else (J == bw))
588- then true
589- else (J == aZ))
569+ else (J == aY))
590570 then true
591571 else (J == H))
592572 then true
593- else (J == bx))
594- then if (if (if (if (if (if ((K == bt))
573+ else (J == bw))
574+ then if (if (if (if (if (if ((K == bs))
575+ then true
576+ else (K == bt))
595577 then true
596578 else (K == bu))
597579 then true
598580 else (K == bv))
599581 then true
600- else (K == bw))
601- then true
602- else (K == aZ))
582+ else (K == aY))
603583 then true
604584 else (K == H))
605585 then true
606- else (K == bx)
586+ else (K == bw)
607587 else false)
608588 then if ((M != false))
609- then if (!((bc == 0)))
610- then if (((bc - bT) >= bS))
611- then if (if ((by > 2))
589+ then if (!((bb == 0)))
590+ then if (((bb - bL) >= bK))
591+ then if (if ((bx > 2))
612592 then true
613- else (bz > 2))
593+ else (by > 2))
614594 then {
615- let bV = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bU)) * toBigInt(by)) / toBigInt(i))) - 1)
616- let bW = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bU)) * toBigInt(bz)) / toBigInt(i))) - 1)
617- let bI = R(I(T, U), T)
618- let bJ = R(I(T, U), U)
619- let bG = P(bb, I(T, U), T)
620- let bH = P(bb, I(T, U), U)
621- let bN = (bG - bV)
622- let bO = (bH - bW)
623- let bP = (bc - bS)
624- let bQ = (bI - bV)
625- let bR = (bJ - bW)
626- if ((r.payments[0].assetId == fromBase58String(ba)))
627- then if ((bS == r.payments[0].amount))
628- then [Burn(fromBase58String(ba), bS), ScriptTransfer(Address(r.caller.bytes), bV, J), ScriptTransfer(Address(r.caller.bytes), bW, K), IntegerEntry(S(T, U, bb), height), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + T), bN), IntegerEntry(((((bb + "_") + I(T, U)) + "_") + U), bO), IntegerEntry(((I(T, U) + "_") + bb), bP), IntegerEntry(((I(T, U) + "_") + T), bQ), IntegerEntry(((I(T, U) + "_") + U), bR), IntegerEntry(T, (p(T) - bV)), IntegerEntry(U, (p(U) - bW)), IntegerEntry(ba, (p(ba) - bS))]
629- else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bS)))
595+ let bN = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bM)) * toBigInt(bx)) / toBigInt(i))) - 1)
596+ let bO = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bM)) * toBigInt(by)) / toBigInt(i))) - 1)
597+ let bH = R(I(T, U), T)
598+ let bI = R(I(T, U), U)
599+ let bF = P(ba, I(T, U), T)
600+ let bG = P(ba, I(T, U), U)
601+ let bP = (bF - bN)
602+ let bQ = (bG - bO)
603+ let bR = (bb - bK)
604+ let bS = (bH - bN)
605+ let bT = (bI - bO)
606+ if ((r.payments[0].assetId == fromBase58String(aZ)))
607+ then if ((bK == r.payments[0].amount))
608+ then [Burn(fromBase58String(aZ), bK), ScriptTransfer(Address(r.caller.bytes), bN, J), ScriptTransfer(Address(r.caller.bytes), bO, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bP), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bQ), IntegerEntry(((I(T, U) + "_") + ba), bR), IntegerEntry(((I(T, U) + "_") + T), bS), IntegerEntry(((I(T, U) + "_") + U), bT), IntegerEntry(T, (p(T) - bN)), IntegerEntry(U, (p(U) - bO)), IntegerEntry(aZ, (p(aZ) - bK))]
609+ else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bK)))
630610 else throw("Requires an lp asset as payment to remove locked amounts.")
631611 }
632612 else throw("Pool has no liquidity.")
633- else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bS)))
613+ else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bK)))
634614 else throw("You have no locked values ​​in the pool")
635615 else throw("Invalid Pool Key.")
636616 else throw("Invalid Asset1 or Asset2!")
637617 else throw("Asset1 cannot be equal to Asset2")
638618 else throw("liquidity is currently under maintenance.")
639619 else throw("dApp is currently under maintenance.")
640620 }
641621
642622
643623
644624 @Callable(r)
645625 func swap (T,U) = {
646- let bb = toBase58String(r.caller.bytes)
647- let ab = getBooleanValue(this, G)
648- let aX = getBooleanValue(this, u)
649- let bX = getBooleanValue(this, w)
650- let bk = I(T, U)
651- let M = L(bk)
626+ let ba = toBase58String(r.caller.bytes)
627+ let aa = getBooleanValue(this, G)
628+ let aW = getBooleanValue(this, u)
629+ let bU = getBooleanValue(this, w)
630+ let bj = I(T, U)
631+ let M = L(bj)
652632 let J = r.payments[0].assetId
653- let bt = fromBase58String(getStringValue(this, A))
654- let bu = fromBase58String(getStringValue(this, C))
655- let bv = fromBase58String(getStringValue(this, B))
656- let bw = fromBase58String(getStringValue(this, D))
657- let aZ = fromBase58String(getStringValue(this, a))
658- let bx = fromBase58String(getStringValue(this, E))
659- let ba = getStringValue(this, (b + I(T, U)))
660- let bY = ac(((I(T, U) + "_") + T), false)
661- let bZ = ac(((I(T, U) + "_") + U), false)
662- let ca = getIntegerValue(this, g)
663- let cb = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bZ), toBigInt(bY)))
664- let cc = toInt(((cb - ((cb / toBigInt(ca)) * toBigInt(100))) / toBigInt(i)))
665- let cd = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bY), toBigInt(bZ)))
666- let ce = toInt(((cd - ((cd / toBigInt(ca)) * toBigInt(100))) / toBigInt(i)))
667- let cf = if (if ((J == unit))
633+ let bs = fromBase58String(getStringValue(this, A))
634+ let bt = fromBase58String(getStringValue(this, C))
635+ let bu = fromBase58String(getStringValue(this, B))
636+ let bv = fromBase58String(getStringValue(this, D))
637+ let aY = fromBase58String(getStringValue(this, a))
638+ let bw = fromBase58String(getStringValue(this, E))
639+ let aZ = getStringValue(this, (b + I(T, U)))
640+ let bV = ab(((I(T, U) + "_") + T), false)
641+ let bW = ab(((I(T, U) + "_") + U), false)
642+ let bX = getIntegerValue(this, g)
643+ let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bW), toBigInt(bV)))
644+ let bZ = toInt(((bY - ((bY / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
645+ let ca = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bV), toBigInt(bW)))
646+ let cb = toInt(((ca - ((ca / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
647+ let cc = if (if ((J == unit))
668648 then (T == F)
669649 else false)
670- then cc
650+ then bZ
671651 else if ((J == fromBase58String(T)))
672- then cc
673- else ce
674- let cg = if ((J == unit))
652+ then bZ
653+ else cb
654+ let cd = if ((J == unit))
675655 then F
676656 else if ((J == fromBase58String(T)))
677657 then T
678658 else U
679- let ch = if ((J == unit))
659+ let ce = if ((J == unit))
680660 then F
681661 else if ((J == fromBase58String(T)))
682662 then U
683663 else T
684- let ci = if ((J == unit))
664+ let cf = if ((J == unit))
685665 then H
686666 else if ((J == fromBase58String(T)))
687667 then fromBase58String(U)
688668 else fromBase58String(T)
689- if (aX)
690- then if (!(bX))
669+ if (aW)
670+ then if (!(bU))
691671 then if (if (!((T == U)))
692- then if (Y(J, T, ab))
672+ then if (X(J, T, aa))
693673 then true
694- else Y(J, U, ab)
674+ else X(J, U, aa)
695675 else false)
696- then if (if (if (if (if (if (if ((J == bt))
676+ then if (if (if (if (if (if (if ((J == bs))
677+ then true
678+ else (J == bt))
697679 then true
698680 else (J == bu))
699681 then true
700682 else (J == bv))
701683 then true
684+ else (J == aY))
685+ then true
702686 else (J == bw))
703- then true
704- else (J == aZ))
705- then true
706- else (J == bx))
707687 then true
708688 else (J == H))
709689 then if ((M != false))
710- then if ((r.payments[1].assetId == aZ))
690+ then if ((r.payments[1].assetId == aY))
711691 then if ((r.payments[1].amount == 300000))
712- then if (if ((bY > 2))
692+ then if (if ((bV > 2))
713693 then true
714- else (bZ > 2))
715- then [ScriptTransfer(Address(r.caller.bytes), cf, ci), IntegerEntry(ch, (p(ch) - cf)), IntegerEntry(((I(T, U) + "_") + ch), (R(I(T, U), ch) - cf)), IntegerEntry(((I(T, U) + "_") + cg), (R(I(T, U), cg) + r.payments[0].amount)), IntegerEntry(cg, (p(cg) + r.payments[0].amount)), IntegerEntry(toBase58String(aZ), (p(toBase58String(aZ)) + r.payments[1].amount))]
694+ else (bW > 2))
695+ then [ScriptTransfer(Address(r.caller.bytes), cc, cf), IntegerEntry(ce, (p(ce) - cc)), IntegerEntry(((I(T, U) + "_") + ce), (R(I(T, U), ce) - cc)), IntegerEntry(((I(T, U) + "_") + cd), (R(I(T, U), cd) + r.payments[0].amount)), IntegerEntry(cd, (p(cd) + r.payments[0].amount)), IntegerEntry(toBase58String(aY), (p(toBase58String(aY)) + r.payments[1].amount))]
716696 else throw("Pool has no liquidity.")
717697 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
718698 else throw("Invalid rate asset")
719699 else throw("Invalid Swap Key.")
720700 else throw("Invalid Asset1 or Asset2!")
721701 else throw("Asset1 cannot be equal to Asset2")
722702 else throw("Swap is currently under maintenance.")
723703 else throw("dApp is currently under maintenance.")
724704 }
725705
726706
727-@Verifier(cj)
728-func ck () = {
729- let q = cj
707+@Verifier(cg)
708+func ch () = {
709+ let q = cg
730710 if ($isInstanceOf(q, "Order"))
731711 then {
732- let cl = q
712+ let ci = q
733713 true
734714 }
735715 else if ($isInstanceOf(q, "ExchangeTransaction"))
736716 then {
737- let cm = q
717+ let cj = q
738718 true
739719 }
740720 else if ($isInstanceOf(q, "TransferTransaction"))
741721 then {
742- let cn = q
743- (cn.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
722+ let ck = q
723+ (ck.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
744724 }
745- else sigVerify(cj.bodyBytes, cj.proofs[0], cj.senderPublicKey)
725+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
746726 }
747727

github/deemru/w8io/c3f4982 
205.21 ms