tx · DwVnqjKXBNPHTJvTozvqeUEf5fbtDUkzWG1PGF45iReo

3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU:  -0.03500000 Waves

2022.07.18 06:26 [2144645] smart account 3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU > SELF 0.00000000 Waves

{ "type": 13, "id": "DwVnqjKXBNPHTJvTozvqeUEf5fbtDUkzWG1PGF45iReo", "fee": 3500000, "feeAssetId": null, "timestamp": 1658114827269, "version": 2, "chainId": 84, "sender": "3N8pVPvAfr79Ysbb4MEwi2Ks7d6LKUXG1iU", "senderPublicKey": "GDio3pYFUMSWQ3yen7TJP79nTPaGuPbxjKixvKLuYS8E", "proofs": [ "3ukpBHmdJ13hSc6LH4ecDFReSs4ZA65o2T6R5HjheYNr1RyXvAhVGupK2zUkrD6QzSfKxHJnzWa6Smonq2p8aBgM" ], "script": "base64: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CQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAEGtleVBvb2xVc2RuV2F2ZXMJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAV3YXZlcwQAAAAUa2V5UG9vbFVzZG5NYWluQXNzZXQJAQAAAAJrcAAAAAIFAAAAC1VzZG5Bc3NldElkBQAAAAtNYWluQXNzZXRJZAQAAAAPa2V5UG9vbFVzZG5FdXJuCQEAAAACa3AAAAACBQAAAAtVc2RuQXNzZXRJZAUAAAALRXVybkFzc2V0SWQEAAAAD2tleVBvb2xVc2RjVXNkdAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC1VzZHRBc3NldElkBAAAAA9rZXlQb29sVXNkY05nbm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtOZ25uQXNzZXRJZAQAAAAQa2V5UG9vbFVzZGNXYXZlcwkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAABXdhdmVzBAAAABRrZXlQb29sVXNkY01haW5Bc3NldAkBAAAAAmtwAAAAAgUAAAALVXNkY0Fzc2V0SWQFAAAAC01haW5Bc3NldElkBAAAAA9rZXlQb29sVXNkY0V1cm4JAQAAAAJrcAAAAAIFAAAAC1VzZGNBc3NldElkBQAAAAtFdXJuQXNzZXRJZAQAAAAPa2V5UG9vbFVzZHROZ25uCQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALTmdubkFzc2V0SWQEAAAAFGtleVBvb2xVc2R0TWFpbkFzc2V0CQEAAAACa3AAAAACBQAAAAtVc2R0QXNzZXRJZAUAAAALTWFpbkFzc2V0SWQEAAAAD2tleVBvb2xVc2R0RXVybgkBAAAAAmtwAAAAAgUAAAALVXNkdEFzc2V0SWQFAAAAC0V1cm5Bc3NldElkBAAAABBrZXlQb29sTmdubldhdmVzCQEAAAACa3AAAAACBQAAAAtOZ25uQXNzZXRJZAUAAAAFd2F2ZXMEAAAAFGtleVBvb2xOZ25uTWFpbkFzc2V0CQEAAAACa3AAAAACBQAAAAtOZ25uQXNzZXRJZAUAAAALTWFpbkFzc2V0SWQEAAAAD2tleVBvb2xOZ25uRXVy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cGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CQABNgAAAAEFAAAAAkQ4CQABNgAAAAEFAAAAB3RvdGFsTFAJAAE2AAAAAQUAAAAPdG90YWxBc3NldDJQb29sCQABNgAAAAEFAAAAAkQ4AAAAAAAAAAABBAAAAAphc3NldDFwb29sCQEAAAAGYXNzZXRQAAAAAgkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MQQAAAAKYXNzZXQycG9vbAkBAAAABmFzc2V0UAAAAAIJAQAAAAJrcAAAAAIFAAAABkFzc2V0MQUAAAAGQXNzZXQyBQAAAAZBc3NldDIEAAAAE2N1cnJlbnRBbW91bnRBc3NldDEJAQAAAAZwb29sQUEAAAADBQAAAApjdXJyZW50S2V5CQEAAAACa3AAAAACBQAAAAZBc3NldDEFAAAABkFzc2V0MgUAAAAGQXNzZXQxBAAAABNjdXJyZW50QW1vdW50QXNzZXQyCQEAAAAGcG9vbEFBAAAAAwUAAAAKY3VycmVudEtleQkBAAAAAmtwAAAAAgUAAAAGQXNzZXQxBQAAAAZBc3NldDIFAAAABkFzc2V0MgQAAAAWbmV3Y3VycmVudEFtb3VudEFzc2V0MQkAAGUAAAACBQAAABNjdXJyZW50QW1vdW50QXNzZXQxBQAAAA1yZWNlaXZlQXNzZXQxBAAAABZuZXdjdXJyZW50QW1vdW50QXNzZXQyCQAAZQAAAAIFAAAAE2N1cnJlbnRBbW91bnRBc3NldDIFAAAADXJlY2VpdmVBc3NldDIEAAAAEG5ld2N1cnJlbnRBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAGQW1vdW50BAAAAA1uZXdhc3NldDFwb29sCQAAZQAAAAIFAAAACmFzc2V0MXBvb2wFAAAADXJlY2VpdmVBc3NldDEEAAAADW5ld2Fzc2V0MnBvb2wJAABlAAAAAgUAAAAKYXNzZXQycG9vbAUAAAANcmVjZWl2ZUFzc2V0MgMJAAAAAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAlscEFzc2V0SWQDCQAAAAAAAAIFAAAABkFtb3VudAgJAAGR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", "height": 2144645, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6REZtpv6ks3u8XXQeZWLSWjsEVhNT3sSLQCXCsXNK6NK Next: DMJuWYxqhpSBtCaBb2us1XSCntHRvhZoaB1QFwaaZGqM Diff:
OldNewDifferences
458458 let bz = ab(aZ, true)
459459 let bA = ((bx + by) / bz)
460460 let bB = (r.payments[0].amount * (by / bx))
461- let bC = if ((r.payments[1].amount == bB))
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))
464+ then true
465+ else (bC > r.payments[1].amount))
466+ then true
467+ else (r.payments[1].amount > bD))
462468 then true
463469 else false
464470 if (aW)
496502 else (K == bw)
497503 else false)
498504 then if ((M != false))
499- then if (bC)
505+ then if (bE)
500506 then {
501507 let ba = toBase58String(r.caller.bytes)
502508 let bb = N(ba, I(T, U))
503- let bD = P(ba, I(T, U), T)
504- let bE = P(ba, I(T, U), U)
505- let bF = R(I(T, U), T)
506- let bG = R(I(T, U), U)
507- let bH = if ((bx == r.payments[0].amount))
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))
508514 then (1 * i)
509515 else ((r.payments[0].amount + r.payments[1].amount) / ((bx + by) / bz))
510- let bI = (bD + r.payments[0].amount)
511- let bJ = (bE + r.payments[1].amount)
512- let bK = (bb + bH)
513- let bL = (bF + r.payments[0].amount)
514- let bM = (bG + r.payments[1].amount)
515-[Reissue(fromBase58String(aZ), bH, true), ScriptTransfer(Address(r.caller.bytes), bH, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bI), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bJ), IntegerEntry(((I(T, U) + "_") + ba), bK), IntegerEntry(((I(T, U) + "_") + T), bL), IntegerEntry(((I(T, U) + "_") + U), bM), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bH))]
516+ let bK = (bF + r.payments[0].amount)
517+ let bL = (bG + r.payments[1].amount)
518+ let bM = (bb + bJ)
519+ let bN = (bH + r.payments[0].amount)
520+ let bO = (bI + r.payments[1].amount)
521+[Reissue(fromBase58String(aZ), bJ, true), ScriptTransfer(Address(r.caller.bytes), bJ, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bK), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bL), IntegerEntry(((I(T, U) + "_") + ba), bM), IntegerEntry(((I(T, U) + "_") + T), bN), IntegerEntry(((I(T, U) + "_") + U), bO), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bJ))]
516522 }
517- 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(bC)))
523+ 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)))
518524 else throw("Invalid Pool Key.")
519525 else throw("Invalid Asset1 or Asset2!")
520526 else throw("Asset1 cannot be equal to Asset2")
525531
526532
527533 @Callable(r)
528-func removeLiquidity (T,U,bN) = {
534+func removeLiquidity (T,U,bP) = {
529535 let ba = toBase58String(r.caller.bytes)
530536 let aW = getBooleanValue(this, u)
531537 let br = getBooleanValue(this, v)
550556 let bw = fromBase58String(getStringValue(this, E))
551557 let aZ = getStringValue(this, (b + I(T, U)))
552558 let bb = N(ba, I(T, U))
553- let bO = V(ba, bj)
554- let bP = ab(aZ, true)
559+ let bQ = V(ba, bj)
560+ let bR = ab(aZ, true)
555561 let bx = ab(((I(T, U) + "_") + T), false)
556562 let by = ab(((I(T, U) + "_") + U), false)
557563 if (aW)
586592 else false)
587593 then if ((M != false))
588594 then if (!((bb == 0)))
589- then if (((bb - bO) >= bN))
595+ then if (((bb - bQ) >= bP))
590596 then if (if ((bx > 2))
591597 then true
592598 else (by > 2))
593599 then {
594- let bQ = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bP)) * toBigInt(bx)) / toBigInt(i))) - 1)
595- let bR = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bP)) * toBigInt(by)) / toBigInt(i))) - 1)
596- let bF = R(I(T, U), T)
597- let bG = R(I(T, U), U)
598- let bD = P(ba, I(T, U), T)
599- let bE = P(ba, I(T, U), U)
600- let bI = (bD - bQ)
601- let bJ = (bE - bR)
602- let bK = (bb - bN)
603- let bL = (bF - bQ)
604- let bM = (bG - bR)
600+ let bS = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bR)) * toBigInt(bx)) / toBigInt(i))) - 1)
601+ let bT = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bR)) * toBigInt(by)) / toBigInt(i))) - 1)
602+ let bH = R(I(T, U), T)
603+ let bI = R(I(T, U), U)
604+ let bF = P(ba, I(T, U), T)
605+ let bG = P(ba, I(T, U), U)
606+ let bK = (bF - bS)
607+ let bL = (bG - bT)
608+ let bM = (bb - bP)
609+ let bN = (bH - bS)
610+ let bO = (bI - bT)
605611 if ((r.payments[0].assetId == fromBase58String(aZ)))
606- then if ((bN == r.payments[0].amount))
607- then [Burn(fromBase58String(aZ), bN), ScriptTransfer(Address(r.caller.bytes), bQ, J), ScriptTransfer(Address(r.caller.bytes), bR, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bI), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bJ), IntegerEntry(((I(T, U) + "_") + ba), bK), IntegerEntry(((I(T, U) + "_") + T), bL), IntegerEntry(((I(T, U) + "_") + U), bM), IntegerEntry(T, (p(T) - bQ)), IntegerEntry(U, (p(U) - bR)), IntegerEntry(aZ, (p(aZ) - bN))]
608- else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bN)))
612+ then if ((bP == r.payments[0].amount))
613+ then [Burn(fromBase58String(aZ), bP), ScriptTransfer(Address(r.caller.bytes), bS, J), ScriptTransfer(Address(r.caller.bytes), bT, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bK), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bL), IntegerEntry(((I(T, U) + "_") + ba), bM), IntegerEntry(((I(T, U) + "_") + T), bN), IntegerEntry(((I(T, U) + "_") + U), bO), IntegerEntry(T, (p(T) - bS)), IntegerEntry(U, (p(U) - bT)), IntegerEntry(aZ, (p(aZ) - bP))]
614+ else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bP)))
609615 else throw("Requires an lp asset as payment to remove locked amounts.")
610616 }
611617 else throw("Pool has no liquidity.")
612- else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bN)))
618+ else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bP)))
613619 else throw("You have no locked values ​​in the pool")
614620 else throw("Invalid Pool Key.")
615621 else throw("Invalid Asset1 or Asset2!")
625631 let ba = toBase58String(r.caller.bytes)
626632 let aa = getBooleanValue(this, G)
627633 let aW = getBooleanValue(this, u)
628- let bS = getBooleanValue(this, w)
634+ let bU = getBooleanValue(this, w)
629635 let bj = I(T, U)
630636 let M = L(bj)
631637 let J = r.payments[0].assetId
636642 let aY = fromBase58String(getStringValue(this, a))
637643 let bw = fromBase58String(getStringValue(this, E))
638644 let aZ = getStringValue(this, (b + I(T, U)))
639- let bT = ab(((I(T, U) + "_") + T), false)
640- let bU = ab(((I(T, U) + "_") + U), false)
641- let bV = getIntegerValue(this, g)
642- let bW = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bU), toBigInt(bT)))
643- let bX = toInt(((bW - ((bW / toBigInt(bV)) * toBigInt(100))) / toBigInt(i)))
644- let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bT), toBigInt(bU)))
645- let bZ = toInt(((bY - ((bY / toBigInt(bV)) * toBigInt(100))) / toBigInt(i)))
646- let ca = if (if ((J == unit))
645+ let bV = ab(((I(T, U) + "_") + T), false)
646+ let bW = ab(((I(T, U) + "_") + U), false)
647+ let bX = getIntegerValue(this, g)
648+ let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bW), toBigInt(bV)))
649+ let bZ = toInt(((bY - ((bY / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
650+ let ca = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bV), toBigInt(bW)))
651+ let cb = toInt(((ca - ((ca / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
652+ let cc = if (if ((J == unit))
647653 then (T == F)
648654 else false)
649- then bX
655+ then bZ
650656 else if ((J == fromBase58String(T)))
651- then bX
652- else bZ
653- let cb = if ((J == unit))
657+ then bZ
658+ else cb
659+ let cd = if ((J == unit))
654660 then F
655661 else if ((J == fromBase58String(T)))
656662 then T
657663 else U
658- let cc = if ((J == unit))
664+ let ce = if ((J == unit))
659665 then F
660666 else if ((J == fromBase58String(T)))
661667 then U
662668 else T
663- let cd = if ((J == unit))
669+ let cf = if ((J == unit))
664670 then H
665671 else if ((J == fromBase58String(T)))
666672 then fromBase58String(U)
667673 else fromBase58String(T)
668674 if (aW)
669- then if (!(bS))
675+ then if (!(bU))
670676 then if (if (!((T == U)))
671677 then if (X(J, T, aa))
672678 then true
688694 then if ((M != false))
689695 then if ((r.payments[1].assetId == aY))
690696 then if ((r.payments[1].amount == 300000))
691- then if (if ((bT > 2))
697+ then if (if ((bV > 2))
692698 then true
693- else (bU > 2))
694- then [ScriptTransfer(Address(r.caller.bytes), ca, cd), IntegerEntry(cc, (p(cc) - ca)), IntegerEntry(((I(T, U) + "_") + cc), (R(I(T, U), cc) - ca)), IntegerEntry(((I(T, U) + "_") + cb), (R(I(T, U), cb) + r.payments[0].amount)), IntegerEntry(cb, (p(cb) + r.payments[0].amount)), IntegerEntry(toBase58String(aY), (p(toBase58String(aY)) + r.payments[1].amount))]
699+ else (bW > 2))
700+ 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))]
695701 else throw("Pool has no liquidity.")
696702 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
697703 else throw("Invalid rate asset")
703709 }
704710
705711
706-@Verifier(ce)
707-func cf () = {
708- let q = ce
712+@Verifier(cg)
713+func ch () = {
714+ let q = cg
709715 if ($isInstanceOf(q, "Order"))
710716 then {
711- let cg = q
717+ let ci = q
712718 true
713719 }
714720 else if ($isInstanceOf(q, "ExchangeTransaction"))
715721 then {
716- let ch = q
722+ let cj = q
717723 true
718724 }
719725 else if ($isInstanceOf(q, "TransferTransaction"))
720726 then {
721- let ci = q
722- (ci.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
727+ let ck = q
728+ (ck.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
723729 }
724- else sigVerify(ce.bodyBytes, ce.proofs[0], ce.senderPublicKey)
730+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
725731 }
726732
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
132132 func V (m,M) = {
133133 let q = getInteger(this, ((("STAKE_LP_" + m) + "_") + M))
134134 if ($isInstanceOf(q, "Int"))
135135 then {
136136 let Q = q
137137 Q
138138 }
139139 else 0
140140 }
141141
142142
143143 func W () = {
144144 let q = getString(this, "admin")
145145 if ($isInstanceOf(q, "String"))
146146 then {
147147 let O = q
148148 Address(fromBase58String(O))
149149 }
150150 else this
151151 }
152152
153153
154154 func X (Y,Z,aa) = if (if ((Y == H))
155155 then (Z == "WAVES")
156156 else false)
157157 then if (aa)
158158 then true
159159 else throw("The smart contract does not currently support Waves.")
160160 else if ((Y == fromBase58String(Z)))
161161 then true
162162 else false
163163
164164
165165 func ab (M,ac) = {
166166 let q = getInteger(this, M)
167167 if ($isInstanceOf(q, "Int"))
168168 then {
169169 let Q = q
170170 Q
171171 }
172172 else if (ac)
173173 then (1 * i)
174174 else 1
175175 }
176176
177177
178178 @Callable(r)
179179 func constructor (ad,ae,af,ag,ah,ai,aj,ak,al) = {
180180 let am = I(af, F)
181181 if (if ((r.caller == this))
182182 then true
183183 else (r.caller == W()))
184184 then if ((valueOrElse(getInteger(this, am), 0) == 0))
185185 then {
186186 let an = I(ae, af)
187187 let ao = I(ae, ag)
188188 let ap = I(ae, ah)
189189 let aq = I(ae, F)
190190 let ar = I(ae, ad)
191191 let as = I(ae, ai)
192192 let at = I(ag, af)
193193 let au = I(ag, ah)
194194 let av = I(ag, F)
195195 let aw = I(ag, ad)
196196 let ax = I(ag, ai)
197197 let ay = I(af, ah)
198198 let az = I(af, ad)
199199 let aA = I(af, ai)
200200 let aB = I(ah, F)
201201 let aC = I(ah, ad)
202202 let aD = I(ah, ai)
203203 let aE = I(ad, F)
204204 let aF = I(ad, ai)
205205 let aG = I(ai, F)
206206 [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)]
207207 }
208208 else throw("Smart Contract has been started")
209209 else throw("Only the Admin itself can invoke this function")
210210 }
211211
212212
213213
214214 @Callable(r)
215215 func activate (aH) = if (if ((r.caller == this))
216216 then true
217217 else (r.caller == W()))
218218 then [BooleanEntry(u, aH)]
219219 else throw("Only the Admin itself can invoke this function")
220220
221221
222222
223223 @Callable(r)
224224 func maintenance (aI,aJ,aK) = if (if ((r.caller == this))
225225 then true
226226 else (r.caller == W()))
227227 then [BooleanEntry(v, aI), BooleanEntry(w, aJ), BooleanEntry(x, aK)]
228228 else throw("Only the Admin itself can invoke this function")
229229
230230
231231
232232 @Callable(r)
233233 func percentualRateFeeSwapEdit (aL) = if (if ((r.caller == this))
234234 then true
235235 else (r.caller == W()))
236236 then [IntegerEntry(g, aL)]
237237 else throw("Only the Admin itself can invoke this function")
238238
239239
240240
241241 @Callable(r)
242242 func acceptWaves (aM) = if (if ((r.caller == this))
243243 then true
244244 else (r.caller == W()))
245245 then [BooleanEntry(G, aM)]
246246 else throw("Only the Admin itself can invoke this function")
247247
248248
249249
250250 @Callable(r)
251251 func blockDistribution (aN) = if (if ((r.caller == this))
252252 then true
253253 else (r.caller == W()))
254254 then [IntegerEntry(y, aN)]
255255 else throw("Only the Admin itself can invoke this function")
256256
257257
258258
259259 @Callable(r)
260260 func addAdmin (m) = if (if ((r.caller == this))
261261 then true
262262 else (r.caller == W()))
263263 then [StringEntry("admin", m)]
264264 else throw("Only the Admin itself can invoke this function")
265265
266266
267267
268268 @Callable(r)
269269 func lpAssetCreateForPairPool (J,K,aO,aP) = {
270270 let aQ = if ((J == F))
271271 then F
272272 else s(fromBase58String(J))
273273 let aR = if ((K == F))
274274 then F
275275 else s(fromBase58String(K))
276276 let aS = if (aP)
277277 then aO
278278 else ((aQ + "_") + aR)
279279 let M = L(I(J, K))
280280 if (if ((r.caller == this))
281281 then true
282282 else (r.caller == W()))
283283 then if ((M != false))
284284 then {
285285 let aT = Issue(aS, ((("LP asset for pool liquidity in AxAi Swap pair " + J) + "_") + K), (1 * i), 8, true)
286286 let aU = calculateAssetId(aT)
287287 [StringEntry((b + I(J, K)), toBase58String(aU)), aT]
288288 }
289289 else throw("Invalid Pool Key. Try inverting the assets")
290290 else throw("Only the Admin itself can invoke this function")
291291 }
292292
293293
294294
295295 @Callable(r)
296296 func deposit (aV,T,U) = {
297297 let aW = getBooleanValue(this, u)
298298 let aX = getBooleanValue(this, x)
299299 let aY = getStringValue(this, a)
300300 let aZ = if (aV)
301301 then getStringValue(this, (b + I(T, U)))
302302 else aY
303303 if (aW)
304304 then if (!(aX))
305305 then if ((r.payments[0].assetId != fromBase58String(aZ)))
306306 then throw((("Invalid asset! Kindly Deposit Only " + aY) + " or valid asset lp"))
307307 else if (!(aV))
308308 then {
309309 let ba = toBase58String(r.caller.bytes)
310310 let bb = {
311311 let q = getInteger(this, ba)
312312 if ($isInstanceOf(q, "Int"))
313313 then {
314314 let Q = q
315315 Q
316316 }
317317 else 0
318318 }
319319 let bc = if ((bb == 0))
320320 then height
321321 else valueOrElse(getIntegerValue(this, (h + ba)), height)
322322 let bd = (bb + r.payments[0].amount)
323323 let be = IntegerEntry(ba, bd)
324324 let bf = IntegerEntry((h + ba), bc)
325325 let bg = {
326326 let q = getInteger(this, "Total_Tokens_Locked:")
327327 if ($isInstanceOf(q, "Int"))
328328 then {
329329 let Q = q
330330 Q
331331 }
332332 else 0
333333 }
334334 let bh = (bg + r.payments[0].amount)
335335 let bi = IntegerEntry("Total_Tokens_Locked:", bh)
336336 [be, bf, bi]
337337 }
338338 else {
339339 let bj = I(T, U)
340340 let M = L(bj)
341341 if ((M != false))
342342 then {
343343 let ba = toBase58String(r.caller.bytes)
344344 let bb = {
345345 let q = getInteger(this, ((("STAKE_LP_" + ba) + "_") + bj))
346346 if ($isInstanceOf(q, "Int"))
347347 then {
348348 let Q = q
349349 Q
350350 }
351351 else 0
352352 }
353353 let bc = if ((bb == 0))
354354 then height
355355 else valueOrElse(getIntegerValue(this, ((((h + "_") + ba) + "_") + bj)), height)
356356 let bd = (bb + r.payments[0].amount)
357357 let be = IntegerEntry(((("STAKE_LP_" + ba) + "_") + bj), bd)
358358 let bf = IntegerEntry(((((h + "_") + ba) + "_") + bj), height)
359359 let bg = {
360360 let q = getInteger(this, ("Total_Tokens_LP_Locked_" + bj))
361361 if ($isInstanceOf(q, "Int"))
362362 then {
363363 let Q = q
364364 Q
365365 }
366366 else 0
367367 }
368368 let bh = (bg + r.payments[0].amount)
369369 let bi = IntegerEntry(("Total_Tokens_LP_Locked_" + bj), bh)
370370 [be, bf, bi]
371371 }
372372 else throw("Invalid Pool key.")
373373 }
374374 else throw("liquidity is currently under maintenance.")
375375 else throw("dApp is currently under maintenance.")
376376 }
377377
378378
379379
380380 @Callable(r)
381381 func remove (aV,T,U,bk) = {
382382 let aW = getBooleanValue(this, u)
383383 let aX = getBooleanValue(this, x)
384384 let bl = r.payments[0]
385385 let aY = fromBase58String(getStringValue(this, a))
386386 if (aW)
387387 then if (!(aX))
388388 then {
389389 let ba = toBase58String(r.caller.bytes)
390390 let bb = {
391391 let q = if (aV)
392392 then getIntegerValue(this, ((("STAKE_LP_" + ba) + "_") + I(T, U)))
393393 else getIntegerValue(this, ba)
394394 if ($isInstanceOf(q, "Int"))
395395 then {
396396 let Q = q
397397 Q
398398 }
399399 else 0
400400 }
401401 let bm = if (aV)
402402 then ((((h + "_") + ba) + "_") + I(T, U))
403403 else (h + ba)
404404 let bg = if (aV)
405405 then getIntegerValue(this, ("Total_Tokens_LP_Locked_" + I(T, U)))
406406 else getIntegerValue(this, "Total_Tokens_Locked:")
407407 let bh = (bg - bk)
408408 let bn = (height - getIntegerValue(this, bm))
409409 let bo = getIntegerValue(this, y)
410410 let bp = ((bn * bo) * i)
411411 let bq = (bp / (bg / bk))
412412 if ((0 > bk))
413413 then throw(if (aV)
414414 then (((("Can't withdraw negative " + T) + "/") + U) + " amount")
415415 else "Can't withdraw negative AxAi amount")
416416 else {
417417 let bd = (bb - bk)
418418 if ((0 > bd))
419419 then throw(if (aV)
420420 then (((("Not enough Asset Lp " + T) + "/") + U) + " balance")
421421 else "Not enough AxAi balance")
422422 else [IntegerEntry(if (aV)
423423 then ((("STAKE_LP_" + ba) + "_") + I(T, U))
424424 else ba, bd), IntegerEntry(if (aV)
425425 then ("Total_Tokens_LP_Locked_" + I(T, U))
426426 else "Total_Tokens_Locked:", bh), ScriptTransfer(r.caller, bk, if (aV)
427427 then fromBase58String(getStringValue(this, (b + I(T, U))))
428428 else aY), ScriptTransfer(r.caller, bq, aY)]
429429 }
430430 }
431431 else throw("liquidity is currently under maintenance.")
432432 else throw("dApp is currently under maintenance.")
433433 }
434434
435435
436436
437437 @Callable(r)
438438 func addLiquidity (T,U) = {
439439 let aW = getBooleanValue(this, u)
440440 let br = getBooleanValue(this, v)
441441 let aa = getBooleanValue(this, G)
442442 let M = L(I(T, U))
443443 let J = r.payments[0].assetId
444444 let K = r.payments[1].assetId
445445 let bs = fromBase58String(getStringValue(this, A))
446446 let bt = fromBase58String(getStringValue(this, C))
447447 let bu = fromBase58String(getStringValue(this, B))
448448 let bv = fromBase58String(getStringValue(this, D))
449449 let bw = fromBase58String(getStringValue(this, E))
450450 let aY = fromBase58String(getStringValue(this, a))
451451 let aZ = getStringValue(this, (b + I(T, U)))
452452 let bx = if ((2 > ab(((I(T, U) + "_") + T), false)))
453453 then r.payments[0].amount
454454 else ab(((I(T, U) + "_") + T), false)
455455 let by = if ((2 > ab(((I(T, U) + "_") + T), false)))
456456 then r.payments[1].amount
457457 else ab(((I(T, U) + "_") + U), false)
458458 let bz = ab(aZ, true)
459459 let bA = ((bx + by) / bz)
460460 let bB = (r.payments[0].amount * (by / bx))
461- let bC = if ((r.payments[1].amount == bB))
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))
464+ then true
465+ else (bC > r.payments[1].amount))
466+ then true
467+ else (r.payments[1].amount > bD))
462468 then true
463469 else false
464470 if (aW)
465471 then if (!(br))
466472 then if (if (if (!((J == K)))
467473 then X(J, T, aa)
468474 else false)
469475 then X(K, U, aa)
470476 else false)
471477 then if (if (if (if (if (if (if (if ((J == bs))
472478 then true
473479 else (J == bt))
474480 then true
475481 else (J == bu))
476482 then true
477483 else (J == bv))
478484 then true
479485 else (J == aY))
480486 then true
481487 else (J == H))
482488 then true
483489 else (J == bw))
484490 then if (if (if (if (if (if ((K == bs))
485491 then true
486492 else (K == bt))
487493 then true
488494 else (K == bu))
489495 then true
490496 else (K == bv))
491497 then true
492498 else (K == aY))
493499 then true
494500 else (K == H))
495501 then true
496502 else (K == bw)
497503 else false)
498504 then if ((M != false))
499- then if (bC)
505+ then if (bE)
500506 then {
501507 let ba = toBase58String(r.caller.bytes)
502508 let bb = N(ba, I(T, U))
503- let bD = P(ba, I(T, U), T)
504- let bE = P(ba, I(T, U), U)
505- let bF = R(I(T, U), T)
506- let bG = R(I(T, U), U)
507- let bH = if ((bx == r.payments[0].amount))
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))
508514 then (1 * i)
509515 else ((r.payments[0].amount + r.payments[1].amount) / ((bx + by) / bz))
510- let bI = (bD + r.payments[0].amount)
511- let bJ = (bE + r.payments[1].amount)
512- let bK = (bb + bH)
513- let bL = (bF + r.payments[0].amount)
514- let bM = (bG + r.payments[1].amount)
515-[Reissue(fromBase58String(aZ), bH, true), ScriptTransfer(Address(r.caller.bytes), bH, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bI), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bJ), IntegerEntry(((I(T, U) + "_") + ba), bK), IntegerEntry(((I(T, U) + "_") + T), bL), IntegerEntry(((I(T, U) + "_") + U), bM), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bH))]
516+ let bK = (bF + r.payments[0].amount)
517+ let bL = (bG + r.payments[1].amount)
518+ let bM = (bb + bJ)
519+ let bN = (bH + r.payments[0].amount)
520+ let bO = (bI + r.payments[1].amount)
521+[Reissue(fromBase58String(aZ), bJ, true), ScriptTransfer(Address(r.caller.bytes), bJ, fromBase58String(aZ)), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bK), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bL), IntegerEntry(((I(T, U) + "_") + ba), bM), IntegerEntry(((I(T, U) + "_") + T), bN), IntegerEntry(((I(T, U) + "_") + U), bO), IntegerEntry(T, (p(T) + r.payments[0].amount)), IntegerEntry(U, (p(U) + r.payments[1].amount)), IntegerEntry(aZ, (p(aZ) + bJ))]
516522 }
517- 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(bC)))
523+ 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)))
518524 else throw("Invalid Pool Key.")
519525 else throw("Invalid Asset1 or Asset2!")
520526 else throw("Asset1 cannot be equal to Asset2")
521527 else throw("liquidity is currently under maintenance.")
522528 else throw("dApp is currently under maintenance.")
523529 }
524530
525531
526532
527533 @Callable(r)
528-func removeLiquidity (T,U,bN) = {
534+func removeLiquidity (T,U,bP) = {
529535 let ba = toBase58String(r.caller.bytes)
530536 let aW = getBooleanValue(this, u)
531537 let br = getBooleanValue(this, v)
532538 let aa = getBooleanValue(this, G)
533539 let bj = I(T, U)
534540 let M = L(bj)
535541 let J = if ((T == F))
536542 then if (aa)
537543 then H
538544 else throw("The smart contract does not currently support Waves.")
539545 else fromBase58String(T)
540546 let K = if ((U == F))
541547 then if (aa)
542548 then H
543549 else throw("The smart contract does not currently support Waves.")
544550 else fromBase58String(U)
545551 let bs = fromBase58String(getStringValue(this, A))
546552 let bt = fromBase58String(getStringValue(this, C))
547553 let bu = fromBase58String(getStringValue(this, B))
548554 let bv = fromBase58String(getStringValue(this, D))
549555 let aY = fromBase58String(getStringValue(this, a))
550556 let bw = fromBase58String(getStringValue(this, E))
551557 let aZ = getStringValue(this, (b + I(T, U)))
552558 let bb = N(ba, I(T, U))
553- let bO = V(ba, bj)
554- let bP = ab(aZ, true)
559+ let bQ = V(ba, bj)
560+ let bR = ab(aZ, true)
555561 let bx = ab(((I(T, U) + "_") + T), false)
556562 let by = ab(((I(T, U) + "_") + U), false)
557563 if (aW)
558564 then if (!(br))
559565 then if (!((T == U)))
560566 then if (if (if (if (if (if (if (if ((J == bs))
561567 then true
562568 else (J == bt))
563569 then true
564570 else (J == bu))
565571 then true
566572 else (J == bv))
567573 then true
568574 else (J == aY))
569575 then true
570576 else (J == H))
571577 then true
572578 else (J == bw))
573579 then if (if (if (if (if (if ((K == bs))
574580 then true
575581 else (K == bt))
576582 then true
577583 else (K == bu))
578584 then true
579585 else (K == bv))
580586 then true
581587 else (K == aY))
582588 then true
583589 else (K == H))
584590 then true
585591 else (K == bw)
586592 else false)
587593 then if ((M != false))
588594 then if (!((bb == 0)))
589- then if (((bb - bO) >= bN))
595+ then if (((bb - bQ) >= bP))
590596 then if (if ((bx > 2))
591597 then true
592598 else (by > 2))
593599 then {
594- let bQ = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bP)) * toBigInt(bx)) / toBigInt(i))) - 1)
595- let bR = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bP)) * toBigInt(by)) / toBigInt(i))) - 1)
596- let bF = R(I(T, U), T)
597- let bG = R(I(T, U), U)
598- let bD = P(ba, I(T, U), T)
599- let bE = P(ba, I(T, U), U)
600- let bI = (bD - bQ)
601- let bJ = (bE - bR)
602- let bK = (bb - bN)
603- let bL = (bF - bQ)
604- let bM = (bG - bR)
600+ let bS = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bR)) * toBigInt(bx)) / toBigInt(i))) - 1)
601+ let bT = (toInt(((fraction(toBigInt(r.payments[0].amount), toBigInt(i), toBigInt(bR)) * toBigInt(by)) / toBigInt(i))) - 1)
602+ let bH = R(I(T, U), T)
603+ let bI = R(I(T, U), U)
604+ let bF = P(ba, I(T, U), T)
605+ let bG = P(ba, I(T, U), U)
606+ let bK = (bF - bS)
607+ let bL = (bG - bT)
608+ let bM = (bb - bP)
609+ let bN = (bH - bS)
610+ let bO = (bI - bT)
605611 if ((r.payments[0].assetId == fromBase58String(aZ)))
606- then if ((bN == r.payments[0].amount))
607- then [Burn(fromBase58String(aZ), bN), ScriptTransfer(Address(r.caller.bytes), bQ, J), ScriptTransfer(Address(r.caller.bytes), bR, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bI), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bJ), IntegerEntry(((I(T, U) + "_") + ba), bK), IntegerEntry(((I(T, U) + "_") + T), bL), IntegerEntry(((I(T, U) + "_") + U), bM), IntegerEntry(T, (p(T) - bQ)), IntegerEntry(U, (p(U) - bR)), IntegerEntry(aZ, (p(aZ) - bN))]
608- else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bN)))
612+ then if ((bP == r.payments[0].amount))
613+ then [Burn(fromBase58String(aZ), bP), ScriptTransfer(Address(r.caller.bytes), bS, J), ScriptTransfer(Address(r.caller.bytes), bT, K), IntegerEntry(S(T, U, ba), height), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + T), bK), IntegerEntry(((((ba + "_") + I(T, U)) + "_") + U), bL), IntegerEntry(((I(T, U) + "_") + ba), bM), IntegerEntry(((I(T, U) + "_") + T), bN), IntegerEntry(((I(T, U) + "_") + U), bO), IntegerEntry(T, (p(T) - bS)), IntegerEntry(U, (p(U) - bT)), IntegerEntry(aZ, (p(aZ) - bP))]
614+ else throw(("Withdrawal amount lower than asset lp amount. Your Lp amount available: " + toString(bP)))
609615 else throw("Requires an lp asset as payment to remove locked amounts.")
610616 }
611617 else throw("Pool has no liquidity.")
612- else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bN)))
618+ else throw(("Amount to be withdrawn greater than the amount available for withdrawal. Available: " + toString(bP)))
613619 else throw("You have no locked values ​​in the pool")
614620 else throw("Invalid Pool Key.")
615621 else throw("Invalid Asset1 or Asset2!")
616622 else throw("Asset1 cannot be equal to Asset2")
617623 else throw("liquidity is currently under maintenance.")
618624 else throw("dApp is currently under maintenance.")
619625 }
620626
621627
622628
623629 @Callable(r)
624630 func swap (T,U) = {
625631 let ba = toBase58String(r.caller.bytes)
626632 let aa = getBooleanValue(this, G)
627633 let aW = getBooleanValue(this, u)
628- let bS = getBooleanValue(this, w)
634+ let bU = getBooleanValue(this, w)
629635 let bj = I(T, U)
630636 let M = L(bj)
631637 let J = r.payments[0].assetId
632638 let bs = fromBase58String(getStringValue(this, A))
633639 let bt = fromBase58String(getStringValue(this, C))
634640 let bu = fromBase58String(getStringValue(this, B))
635641 let bv = fromBase58String(getStringValue(this, D))
636642 let aY = fromBase58String(getStringValue(this, a))
637643 let bw = fromBase58String(getStringValue(this, E))
638644 let aZ = getStringValue(this, (b + I(T, U)))
639- let bT = ab(((I(T, U) + "_") + T), false)
640- let bU = ab(((I(T, U) + "_") + U), false)
641- let bV = getIntegerValue(this, g)
642- let bW = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bU), toBigInt(bT)))
643- let bX = toInt(((bW - ((bW / toBigInt(bV)) * toBigInt(100))) / toBigInt(i)))
644- let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bT), toBigInt(bU)))
645- let bZ = toInt(((bY - ((bY / toBigInt(bV)) * toBigInt(100))) / toBigInt(i)))
646- let ca = if (if ((J == unit))
645+ let bV = ab(((I(T, U) + "_") + T), false)
646+ let bW = ab(((I(T, U) + "_") + U), false)
647+ let bX = getIntegerValue(this, g)
648+ let bY = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bW), toBigInt(bV)))
649+ let bZ = toInt(((bY - ((bY / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
650+ let ca = (toBigInt(r.payments[0].amount) * fraction(toBigInt(i), toBigInt(bV), toBigInt(bW)))
651+ let cb = toInt(((ca - ((ca / toBigInt(bX)) * toBigInt(100))) / toBigInt(i)))
652+ let cc = if (if ((J == unit))
647653 then (T == F)
648654 else false)
649- then bX
655+ then bZ
650656 else if ((J == fromBase58String(T)))
651- then bX
652- else bZ
653- let cb = if ((J == unit))
657+ then bZ
658+ else cb
659+ let cd = if ((J == unit))
654660 then F
655661 else if ((J == fromBase58String(T)))
656662 then T
657663 else U
658- let cc = if ((J == unit))
664+ let ce = if ((J == unit))
659665 then F
660666 else if ((J == fromBase58String(T)))
661667 then U
662668 else T
663- let cd = if ((J == unit))
669+ let cf = if ((J == unit))
664670 then H
665671 else if ((J == fromBase58String(T)))
666672 then fromBase58String(U)
667673 else fromBase58String(T)
668674 if (aW)
669- then if (!(bS))
675+ then if (!(bU))
670676 then if (if (!((T == U)))
671677 then if (X(J, T, aa))
672678 then true
673679 else X(J, U, aa)
674680 else false)
675681 then if (if (if (if (if (if (if ((J == bs))
676682 then true
677683 else (J == bt))
678684 then true
679685 else (J == bu))
680686 then true
681687 else (J == bv))
682688 then true
683689 else (J == aY))
684690 then true
685691 else (J == bw))
686692 then true
687693 else (J == H))
688694 then if ((M != false))
689695 then if ((r.payments[1].assetId == aY))
690696 then if ((r.payments[1].amount == 300000))
691- then if (if ((bT > 2))
697+ then if (if ((bV > 2))
692698 then true
693- else (bU > 2))
694- then [ScriptTransfer(Address(r.caller.bytes), ca, cd), IntegerEntry(cc, (p(cc) - ca)), IntegerEntry(((I(T, U) + "_") + cc), (R(I(T, U), cc) - ca)), IntegerEntry(((I(T, U) + "_") + cb), (R(I(T, U), cb) + r.payments[0].amount)), IntegerEntry(cb, (p(cb) + r.payments[0].amount)), IntegerEntry(toBase58String(aY), (p(toBase58String(aY)) + r.payments[1].amount))]
699+ else (bW > 2))
700+ 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))]
695701 else throw("Pool has no liquidity.")
696702 else throw("Swap denied! 0.003 AxAi is required for the swap fee.")
697703 else throw("Invalid rate asset")
698704 else throw("Invalid Swap Key.")
699705 else throw("Invalid Asset1 or Asset2!")
700706 else throw("Asset1 cannot be equal to Asset2")
701707 else throw("Swap is currently under maintenance.")
702708 else throw("dApp is currently under maintenance.")
703709 }
704710
705711
706-@Verifier(ce)
707-func cf () = {
708- let q = ce
712+@Verifier(cg)
713+func ch () = {
714+ let q = cg
709715 if ($isInstanceOf(q, "Order"))
710716 then {
711- let cg = q
717+ let ci = q
712718 true
713719 }
714720 else if ($isInstanceOf(q, "ExchangeTransaction"))
715721 then {
716- let ch = q
722+ let cj = q
717723 true
718724 }
719725 else if ($isInstanceOf(q, "TransferTransaction"))
720726 then {
721- let ci = q
722- (ci.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
727+ let ck = q
728+ (ck.recipient == Address(fromBase58String(getStringValue(this, "admin"))))
723729 }
724- else sigVerify(ce.bodyBytes, ce.proofs[0], ce.senderPublicKey)
730+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
725731 }
726732

github/deemru/w8io/169f3d6 
184.07 ms