tx · 58coyhUerTgN6oknFtZsWA1RybVwhozFSRrwWsPfxSw8

3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT:  -0.03900000 Waves

2022.08.29 12:54 [2205594] smart account 3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT > SELF 0.00000000 Waves

{ "type": 13, "id": "58coyhUerTgN6oknFtZsWA1RybVwhozFSRrwWsPfxSw8", "fee": 3900000, "feeAssetId": null, "timestamp": 1661766850714, "version": 2, "chainId": 84, "sender": "3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT", "senderPublicKey": "D1BL65meykxFZTCuq7jq9HSGLLnWvQamQPUNrguW5w39", "proofs": [ "219Z5JrfyqcC11LCDNwu1W2XhgH9oswz6qq91ACUFs6S3AcVZvPCmcwPQ2pCVjVVgjbeojs1G7RhAu7eCDJ7wbi8" ], "script": "base64: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CWlkeFBvb2xTdAQAAAAEbHBFbQgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABBQAAAARscElkAgAAAAhXciBscCBhcwAAAAhxdWFudGl0eQQAAAAJYW1CYWxhbmNlAwUAAAAGaXNFdmFsCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtSWRTdHIDAwUAAAAKaXNPbmVBc3NldAkAAAAAAAACBQAAAAVwbXRJZAUAAAAHYW1JZFN0cgcJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbUlkU3RyBQAAAAZwbXRBbXQDBQAAAAppc09uZUFzc2V0CQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtSWRTdHIJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbUlkU3RyBQAAAAdpbkFtQW10BAAAAAlwckJhbGFuY2UDBQAAAAZpc0V2YWwJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAHcHJJZFN0cgMDBQAAAAppc09uZUFzc2V0CQAAAAAAAAIFAAAABXBtdElkBQAAAAdwcklkU3RyBwkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB3BySWRTdHIFAAAABnBtdEFtdAMFAAAACmlzT25lQXNzZXQJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAHcHJJZFN0cgkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB3BySWRTdHIFAAAAB2luUHJBbXQEAAAAD2luQW1Bc3NldEFtdFgxOAkBAAAAAnQxAAAAAgUAAAAHaW5BbUFtdAUAAAAGYW10RGNtBAAAAA9pblByQXNzZXRBbXRYMTgJAQAAAAJ0MQAAAAIFAAAAB2luUHJBbXQFAAAACHByaWNlRGNtBAAAAAx1c2VyUHJpY2VYMTgJAQAAAARjcGJpAAAAAgUAAAAPaW5QckFzc2V0QW10WDE4BQAAAA9pbkFtQXNzZXRBbXRYMTgEAAAADGFtQmFsYW5jZVgxOAkBAAAAAnQxAAAAAgUAAAAJYW1CYWxhbmNlBQAAAAZhbXREY20EAAAADHByQmFsYW5jZVgxOAkBAAAAAnQxAAAAAgUAAAAJcHJCYWxhbmNlBQAAAAhwcmljZURjbQQAAAABcgMJAAAAAAAAAgUAAAAEbHBFbQAAAAAAAAAAAAQAAAALY3VyUHJpY2VYMTgFAAAACnplcm9CaWdJbnQEAAAAC3NsaXBwYWdlWDE4BQAAAAp6ZXJvQmlnSW50BAAAAAhscEFtdFgxOAkAAHYAAAAGCQABOQAAAAIFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAAPaW5QckFzc2V0QW10WDE4AAAAAAAAAAAACQABNgAAAAEAAAAAAAAAAAUAAAAAAAAAAAEAAAAAAAAAAAAFAAAABERPV04JAAUXAAAABQkBAAAAAmYxAAAAAgUAAAAIbHBBbXRYMTgFAAAABnNjYWxlOAkBAAAAAmYxAAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAAZhbXREY20JAQAAAAJmMQAAAAIFAAAAD2luUHJBc3NldEFtdFgxOAUAAAAIcHJpY2VEY20JAQAAAARjcGJpAAAAAgkAATcAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAAD2luUHJBc3NldEFtdFgxOAkAATcAAAACBQAAAAxhbUJhbGFuY2VYMTgFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAALc2xpcHBhZ2VYMTgEAAAAC2N1clByaWNlWDE4CQEAAAAEY3BiaQAAAAIFAAAADHByQmFsYW5jZVgxOAUAAAAMYW1CYWxhbmNlWDE4BAAAAA9zbGlwcGFnZVJlYWxYMTgJAAE8AAAAAwkBAAAAA2FicwAAAAEJAAE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAADHVzZXJQcmljZVgxOAUAAAAHc2NhbGUxOAUAAAALY3VyUHJpY2VYMTgEAAAAC3NsaXBwYWdlWDE4CQEAAAACdDEAAAACBQAAAAhzbGlwcGFnZQUAAAAGc2NhbGU4AwMJAQAAAAIhPQAAAAIFAAAAC2N1clByaWNlWDE4BQAAAAp6ZXJvQmlnSW50CQABPwAAAAIFAAAAD3NsaXBwYWdlUmVhbFgxOAUAAAALc2xpcHBhZ2VYMTgHCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD1ByaWNlIHNsaXBwYWdlIAkAAaYAAAABBQAAAA9zbGlwcGFnZVJlYWxYMTgCAAAAAyA+IAkAAaYAAAABBQAAAAtzbGlwcGFnZVgxOAQAAAANbHBFbWlzc2lvblgxOAkBAAAAAnQxAAAAAgUAAAAEbHBFbQUAAAAGc2NhbGU4BAAAAApwclZpYUFtWDE4CQABPAAAAAMFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAALY3VyUHJpY2VYMTgFAAAAB3NjYWxlMTgEAAAACmFtVmlhUHJYMTgJAAE8AAAAAwUAAAAPaW5QckFzc2V0QW10WDE4BQAAAAdzY2FsZTE4BQAAAAtjdXJQcmljZVgxOAQAAAAMZXhwZWN0ZWRBbXRzAwkAAT8AAAACBQAAAApwclZpYUFtWDE4BQAAAA9pblByQXNzZXRBbXRYMTgJAAUUAAAAAgUAAAAKYW1WaWFQclgxOAUAAAAPaW5QckFzc2V0QW10WDE4CQAFFAAAAAIFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAAKcHJWaWFBbVgxOAQAAAARZXhwQW10QXNzZXRBbXRYMTgIBQAAAAxleHBlY3RlZEFtdHMAAAACXzEEAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgIBQAAAAxleHBlY3RlZEFtdHMAAAACXzIEAAAACGxwQW10WDE4CQABPAAAAAMFAAAADWxwRW1pc3Npb25YMTgFAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgFAAAADHByQmFsYW5jZVgxOAkABRcAAAAFCQEAAAACZjEAAAACBQAAAAhscEFtdFgxOAUAAAAGc2NhbGU4CQEAAAACZjEAAAACBQAAABFleHBBbXRBc3NldEFtdFgxOAUAAAAGYW10RGNtCQEAAAACZjEAAAACBQAAABNleHBQcmljZUFzc2V0QW10WDE4BQAAAAhwcmljZURjbQUAAAALY3VyUHJpY2VYMTgFAAAAC3NsaXBwYWdlWDE4BAAAAAljYWxjTHBBbXQIBQAAAAFyAAAAAl8xBAAAAA5jYWxjQW1Bc3NldFBtdAgFAAAAAXIAAAACXzIEAAAADmNhbGNQckFzc2V0UG10CAUAAAABcgAAAAJfMwQAAAAIY3VyUHJpY2UJAQAAAAJmMQAAAAIIBQAAAAFyAAAAAl80BQAAAAZzY2FsZTgEAAAADHNsaXBwYWdlQ2FsYwkBAAAAAmYxAAAAAggFAAAAAXIAAAACXzUFAAAABnNjYWxlOAMJAABn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Z2V0QWNjQmFsYW5jZQAAAAEFAAAABGFtSWQEAAAACXByQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAARwcklkBAAAAA0kdDAyNDY5MTI1MjY3AwkAAAAAAAACBQAAAApwbXRBc3NldElkBQAAAARhbUlkAwMJAABmAAAAAgUAAAAGcG10QW10BQAAAAlhbUJhbGFuY2UGCQAAZgAAAAIFAAAAC2FtQXNzZXRQYXJ0BQAAAAZwbXRBbXQJAAACAAAAAQIAAAAWaW52YWxpZCBwYXltZW50IGFtb3VudAkABRgAAAAGCQAAZQAAAAIFAAAACWFtQmFsYW5jZQUAAAAGcG10QW10BQAAAAlwckJhbGFuY2UJAABlAAAAAgUAAAAGcG10QW10BQAAAAthbUFzc2V0UGFydAUAAAALcHJBc3NldFBhcnQAAAAAAAAAAAAAAAAAAAAAAAADCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAABHBySWQDAwkAAGYAAAACBQAAAAZwbXRBbXQFAAAACXByQmFsYW5jZQYJAABmAAAAAgUAAAALcHJBc3NldFBhcnQFAAAABnBtdEFtdAkAAAIAAAABAgAAABZpbnZhbGlkIHBheW1lbnQgYW1vdW50CQAFGAAAAAYFAAAACWFtQmFsYW5jZQkAAGUAAAACBQAAAAlwckJhbGFuY2UFAAAABnBtdEFtdAAAAAAAAAAAAAAAAAAAAAAAAAkAAGUAAAACBQAAAAZwbXRBbXQFAAAAC3ByQXNzZXRQYXJ0BQAAAAthbUFzc2V0UGFydAkAAAIAAAABAgAAABB3cm9uZyBwbXRBc3NldElkBAAAAAxhbUJhbGFuY2VOb3cIBQAAAA0kdDAyNDY5MTI1MjY3AAAAAl8xBAAAAAxwckJhbGFuY2VOb3cIBQAAAA0kdDAyNDY5MTI1MjY3AAAAAl8yBAAAAAx2aXJ0U3dhcEluQW0IBQAAAA0kdDAyNDY5MTI1MjY3AAAAAl8zBAAAAA12aXJ0U3dhcE91dFByCAUAAAANJHQwMjQ2OTEyNTI2NwAAAAJfNAQAAAAMdmlydFN3YXBJblByCAUAAAANJHQwMjQ2OTEyNTI2NwAAAAJfNQQAAAANdmlydFN3YXBPdXRBbQgFAAAADSR0MDI0NjkxMjUyNjcAAAACXzYE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", "height": 2205594, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: JBV71toHJEb23vP5QsKY4nUgVRWNayKebyeB9cE6wDkE Next: 2ZcMt7cwgMM14AL65mfXEuTRnvj4PrjaLMXSMNDHKsiM Diff:
OldNewDifferences
625625 let dT = dl(dS)
626626 let cl = dT._1
627627 let dU = dT._2
628- if ((10000000 > cl))
628+ if ((10000000 > dS))
629629 then throw("Wrong pmt amt")
630630 else {
631631 let bQ = aW(bK)
801801 let ec = bh(parseBigIntValue(aq(bi)), parseBigIntValue(aq(bj)), g)
802802 if ((ec == ec))
803803 then {
804- let es = bb(toBigInt(er), toBigInt(em), toBigInt(be))
805- if ((es == es))
804+ let es = dl(er)._1
805+ let et = bb(toBigInt(es), toBigInt(em), toBigInt(be))
806+ if ((et == et))
806807 then {
807- let et = if ((en == bK))
808- then $Tuple2(toInt(es._2), 0)
809- else $Tuple2(0, toInt(es._2))
810- let eu = et._1
811- let ev = et._2
812- let ew = (eu + ev)
813- let ex = dl(ew)
814- let ey = ex._1
815- let dU = ex._2
816- let ez = if ((en == "WAVES"))
808+ let eu = if ((en == bK))
809+ then $Tuple2(toInt(et._2), 0)
810+ else $Tuple2(0, toInt(et._2))
811+ let ev = eu._1
812+ let ew = eu._2
813+ let ex = (ev + ew)
814+ let dU = (er - es)
815+ let ey = if ((en == "WAVES"))
817816 then unit
818817 else fromBase58String(en)
819818 let eg = if ((dU > 0))
820- then [ScriptTransfer(aB, dU, ez)]
819+ then [ScriptTransfer(aB, dU, ey)]
821820 else nil
822- let eA = aY(C(bS, bN), C(bQ, bM))
823- let eB = F(eA, a)
824- let cc = [ScriptTransfer(bI, ey, ez), StringEntry(X(toString(bI), bF), aS(eu, ev, cl, eB, height, lastBlock.timestamp)), IntegerEntry(Q(), eB), IntegerEntry(R(height, lastBlock.timestamp), eB)]
821+ let ez = aY(C(bS, bN), C(bQ, bM))
822+ let eA = F(ez, a)
823+ let cc = [ScriptTransfer(bI, ex, ey), StringEntry(X(toString(bI), bF), aS(ev, ew, cl, eA, height, lastBlock.timestamp)), IntegerEntry(Q(), eA), IntegerEntry(R(height, lastBlock.timestamp), eA)]
825824 if ((cc == cc))
826825 then {
827- let eC = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
828- if ((eC == eC))
826+ let eB = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
827+ if ((eB == eB))
829828 then (cc ++ eg)
830829 else throw("Strict value is not equal to itself.")
831830 }
841840
842841
843842 @Callable(df)
844-func getNoLess (eD,eE) = {
843+func getNoLess (eC,eD) = {
845844 let cx = de(df)
846845 let ca = cx._1
847846 let cb = cx._2
848847 let cl = cx._3
849848 let bG = cx._4
850849 let cc = cx._5
851- if ((eD > ca))
852- then throw(((("Failed: " + toString(ca)) + " < ") + toString(eD)))
853- else if ((eE > cb))
854- then throw(((("Failed: " + toString(cb)) + " < ") + toString(eE)))
850+ if ((eC > ca))
851+ then throw(((("Failed: " + toString(ca)) + " < ") + toString(eC)))
852+ else if ((eD > cb))
853+ then throw(((("Failed: " + toString(cb)) + " < ") + toString(eD)))
855854 else {
856- let eF = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
857- if ((eF == eF))
855+ let eE = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
856+ if ((eE == eE))
858857 then cc
859858 else throw("Strict value is not equal to itself.")
860859 }
864863
865864 @Callable(df)
866865 func unstakeAndGet (dm) = {
867- let eG = if ((size(df.payments) != 0))
866+ let eF = if ((size(df.payments) != 0))
868867 then throw("No pmnts expd")
869868 else true
870- if ((eG == eG))
869+ if ((eF == eF))
871870 then {
872871 let bv = aC()
873- let eH = aG()
872+ let eG = aG()
874873 let dF = fromBase58String(bv[r])
875- let eI = valueOrErrorMessage(addressFromString(eH[y]), "Wr st addr")
876- let eJ = invoke(eI, "unstake", [toBase58String(dF), dm], nil)
877- if ((eJ == eJ))
874+ let eH = valueOrErrorMessage(addressFromString(eG[y]), "Wr st addr")
875+ let eI = invoke(eH, "unstake", [toBase58String(dF), dm], nil)
876+ if ((eI == eI))
878877 then {
879878 let cx = bE(toBase58String(df.transactionId), toBase58String(dF), dm, df.caller)
880879 let bO = parseIntValue(cx._9)
881880 let cc = cx._10
882- let eK = if (if (az())
881+ let eJ = if (if (az())
883882 then true
884883 else (bO == o))
885884 then throw(("Blocked: " + toString(bO)))
886885 else true
887- if ((eK == eK))
886+ if ((eJ == eJ))
888887 then {
889- let eL = invoke(ax, "burn", [dm], [AttachedPayment(dF, dm)])
890- if ((eL == eL))
888+ let eK = invoke(ax, "burn", [dm], [AttachedPayment(dF, dm)])
889+ if ((eK == eK))
891890 then cc
892891 else throw("Strict value is not equal to itself.")
893892 }
901900
902901
903902 @Callable(df)
904-func activate (eM,eN) = if ((toString(df.caller) != toString(ax)))
903+func activate (eL,eM) = if ((toString(df.caller) != toString(ax)))
905904 then throw("denied")
906- else $Tuple2([StringEntry(Y(), eM), StringEntry(Z(), eN)], "success")
905+ else $Tuple2([StringEntry(Y(), eL), StringEntry(Z(), eM)], "success")
907906
908907
909908
910909 @Callable(df)
911-func setS (eO,eK) = if ((toString(df.caller) != at(this, ab())))
910+func setS (eN,eJ) = if ((toString(df.caller) != at(this, ab())))
912911 then dr
913- else [StringEntry(eO, eK)]
912+ else [StringEntry(eN, eJ)]
914913
915914
916915
917916 @Callable(df)
918-func setI (eO,eK) = if ((toString(df.caller) != at(this, ab())))
917+func setI (eN,eJ) = if ((toString(df.caller) != at(this, ab())))
919918 then dr
920- else [IntegerEntry(eO, eK)]
919+ else [IntegerEntry(eN, eJ)]
921920
922921
923922
933932
934933 @Callable(df)
935934 func calcPricesWrapperREADONLY (bp,bq,bu) = {
936- let eP = bt(bp, bq, bu)
937- $Tuple2(nil, [toString(eP[0]), toString(eP[1]), toString(eP[2])])
935+ let eO = bt(bp, bq, bu)
936+ $Tuple2(nil, [toString(eO[0]), toString(eO[1]), toString(eO[2])])
938937 }
939938
940939
941940
942941 @Callable(df)
943-func fromX18WrapperREADONLY (G,eQ) = $Tuple2(nil, F(parseBigIntValue(G), eQ))
942+func fromX18WrapperREADONLY (G,eP) = $Tuple2(nil, F(parseBigIntValue(G), eP))
944943
945944
946945
955954
956955
957956 @Callable(df)
958-func estimatePutOperationWrapperREADONLY (bF,be,ce,cf,cg,ch,eR,ci,cj) = $Tuple2(nil, cd(bF, be, ce, cf, cg, ch, eR, ci, cj, false, 0, ""))
957+func estimatePutOperationWrapperREADONLY (bF,be,ce,cf,cg,ch,eQ,ci,cj) = $Tuple2(nil, cd(bF, be, ce, cf, cg, ch, eQ, ci, cj, false, 0, ""))
959958
960959
961960
962961 @Callable(df)
963-func estimateGetOperationWrapperREADONLY (bF,eS,bH,eR) = {
964- let cx = bE(bF, eS, bH, addressFromStringValue(eR))
962+func estimateGetOperationWrapperREADONLY (bF,eR,bH,eQ) = {
963+ let cx = bE(bF, eR, bH, addressFromStringValue(eQ))
965964 $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
966965 }
967966
968967
969-@Verifier(eT)
970-func eU () = {
971- let ar = eT
968+@Verifier(eS)
969+func eT () = {
970+ let ar = eS
972971 if ($isInstanceOf(ar, "Order"))
973972 then {
974973 let cS = ar
975- let eV = aA()
974+ let eU = aA()
976975 let an = cR(cS)
977- let eW = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
978- let eX = sigVerify(cS.bodyBytes, cS.proofs[1], eV)
976+ let eV = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
977+ let eW = sigVerify(cS.bodyBytes, cS.proofs[1], eU)
979978 if (if (if (an)
979+ then eV
980+ else false)
980981 then eW
981982 else false)
982- then eX
983- else false)
984983 then true
985- else am(an, eW, eX)
984+ else am(an, eV, eW)
986985 }
987986 else {
988- let eY = {
989- let eZ = do()
990- if ($isInstanceOf(eZ, "ByteVector"))
987+ let eX = {
988+ let eY = do()
989+ if ($isInstanceOf(eY, "ByteVector"))
991990 then {
992- let dt = eZ
991+ let dt = eY
993992 dt
994993 }
995- else if ($isInstanceOf(eZ, "Unit"))
996- then eT.senderPublicKey
994+ else if ($isInstanceOf(eY, "Unit"))
995+ then eS.senderPublicKey
997996 else throw("Match error")
998997 }
999- sigVerify(eT.bodyBytes, eT.proofs[0], eY)
998+ sigVerify(eS.bodyBytes, eS.proofs[0], eX)
1000999 }
10011000 }
10021001
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = toBigInt(100000000)
77
88 let c = toBigInt(1000000000000000000)
99
1010 let d = 1000
1111
1212 let e = toBigInt(0)
1313
1414 let f = toBigInt(1)
1515
1616 let g = toBigInt((a - ((a * 1) / a)))
1717
1818 let h = "100"
1919
2020 let i = "1"
2121
2222 let j = "__"
2323
2424 let k = ""
2525
2626 let l = 1
2727
2828 let m = 2
2929
3030 let n = 3
3131
3232 let o = 4
3333
3434 let p = 1
3535
3636 let q = 2
3737
3838 let r = 3
3939
4040 let s = 4
4141
4242 let t = 5
4343
4444 let u = 6
4545
4646 let v = 7
4747
4848 let w = 8
4949
5050 let x = 9
5151
5252 let y = 1
5353
5454 let z = 7
5555
5656 let A = 10
5757
5858 let B = 0
5959
6060 func C (D,E) = fraction(toBigInt(D), c, toBigInt(E))
6161
6262
6363 func F (G,H) = toInt(fraction(G, toBigInt(H), c))
6464
6565
6666 func I (J,K,L) = fraction(J, K, L)
6767
6868
6969 func M (G) = if ((e > G))
7070 then -(G)
7171 else G
7272
7373
7474 func N () = "%s__factoryContract"
7575
7676
7777 func O () = "%s__managerPublicKey"
7878
7979
8080 func P () = "%s__pendingManagerPublicKey"
8181
8282
8383 func Q () = "%s%s__price__last"
8484
8585
8686 func R (S,T) = makeString(["%s%s%d%d__price__history", toString(S), toString(T)], j)
8787
8888
8989 func U (V,W) = ((("%s%s%s__P__" + V) + "__") + W)
9090
9191
9292 func X (V,W) = ((("%s%s%s__G__" + V) + "__") + W)
9393
9494
9595 func Y () = "%s__amountAsset"
9696
9797
9898 func Z () = "%s__priceAsset"
9999
100100
101101 func aa () = "%s__amp"
102102
103103
104104 func ab () = "%s__addonAddr"
105105
106106
107107 let ac = "%s__feePermille"
108108
109109 let ad = valueOrElse(getInteger(this, ac), B)
110110
111111 func ae () = "%s__factoryConfig"
112112
113113
114114 func af () = "%s%s__matcher__publicKey"
115115
116116
117117 func ag (ah,ai) = (((("%d%d%s__" + ah) + "__") + ai) + "__config")
118118
119119
120120 func aj (ak) = ("%s%s%s__mappings__baseAsset2internalId__" + ak)
121121
122122
123123 func al () = "%s__shutdown"
124124
125125
126126 func am (an,ao,ap) = throw(((((("Failed: ordValid=" + toString(an)) + " sndrValid=") + toString(ao)) + " mtchrValid=") + toString(ap)))
127127
128128
129129 func aq (G) = {
130130 let ar = G
131131 if ($isInstanceOf(ar, "String"))
132132 then {
133133 let as = ar
134134 as
135135 }
136136 else throw("fail cast to String")
137137 }
138138
139139
140140 func at (au,av) = valueOrErrorMessage(getString(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
141141
142142
143143 func aw (au,av) = valueOrErrorMessage(getInteger(au, av), makeString(["mandatory ", toString(au), ".", av, " not defined"], ""))
144144
145145
146146 let ax = addressFromStringValue(at(this, N()))
147147
148148 let ay = at(this, aa())
149149
150150 func az () = valueOrElse(getBoolean(ax, al()), false)
151151
152152
153153 func aA () = fromBase58String(at(ax, af()))
154154
155155
156156 let aB = addressFromPublicKey(aA())
157157
158158 func aC () = {
159159 let aD = at(this, Y())
160160 let aE = at(this, Z())
161161 let aF = aw(ax, aj(aE))
162162 let ah = aw(ax, aj(aD))
163163 split(at(ax, ag(toString(ah), toString(aF))), j)
164164 }
165165
166166
167167 func aG () = split(at(ax, ae()), j)
168168
169169
170170 func aH (aI,aJ,aK,aL,aM,aN,aO,aP,aQ,aR) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(aI), toString(aJ), toString(aK), toString(aL), toString(aM), toString(aN), toString(aO), toString(aP), toString(aQ), toString(aR)], j)
171171
172172
173173 func aS (aT,aU,aV,aL,aO,aP) = makeString(["%d%d%d%d%d%d", toString(aT), toString(aU), toString(aV), toString(aL), toString(aO), toString(aP)], j)
174174
175175
176176 func aW (aX) = if ((aX == "WAVES"))
177177 then wavesBalance(this).available
178178 else assetBalance(this, fromBase58String(aX))
179179
180180
181181 func aY (aZ,ba) = fraction(aZ, c, ba)
182182
183183
184184 func bb (bc,bd,be) = {
185185 let bf = fraction((bc - bd), b, bd)
186186 let bg = ((be - M(bf)) > e)
187187 if (!(bg))
188188 then throw(("Big slpg: " + toString(bf)))
189189 else $Tuple2(bg, min([bc, bd]))
190190 }
191191
192192
193193 func bh (bi,bj,bk) = {
194194 let bf = fraction(bj, b, bi)
195195 let bl = (bk > bf)
196196 if (if (bl)
197197 then true
198198 else (bj > bi))
199199 then throw(((((((toString(bj) + " ") + toString(bi)) + " ") + toString(bf)) + " ") + toString(bk)))
200200 else bl
201201 }
202202
203203
204204 func bm (bn,bo,bp,bq) = {
205205 let br = C(bp, bn)
206206 let bs = C(bq, bo)
207207 aY(bs, br)
208208 }
209209
210210
211211 func bt (bp,bq,bu) = {
212212 let bv = aC()
213213 let bw = parseIntValue(bv[u])
214214 let bx = parseIntValue(bv[v])
215215 let by = bm(bw, bx, bp, bq)
216216 let ba = C(bp, bw)
217217 let aZ = C(bq, bx)
218218 let bz = C(bu, a)
219219 let bA = aY(ba, bz)
220220 let bB = aY(aZ, bz)
221221 [by, bA, bB]
222222 }
223223
224224
225225 func bC (bp,bq,bu) = {
226226 let bD = bt(bp, bq, bu)
227227 [F(bD[0], a), F(bD[1], a), F(bD[2], a)]
228228 }
229229
230230
231231 func bE (bF,bG,bH,bI) = {
232232 let bv = aC()
233233 let bJ = bv[r]
234234 let bK = bv[s]
235235 let bL = bv[t]
236236 let bM = parseIntValue(bv[u])
237237 let bN = parseIntValue(bv[v])
238238 let bO = bv[q]
239239 let bP = valueOrErrorMessage(assetInfo(fromBase58String(bJ)), "Wrong LP id").quantity
240240 if ((bJ != bG))
241241 then throw("Wrong pmt asset")
242242 else {
243243 let bQ = aW(bK)
244244 let bR = C(bQ, bM)
245245 let bS = aW(bL)
246246 let bT = C(bS, bN)
247247 let bU = aY(bT, bR)
248248 let bV = F(bU, a)
249249 let bW = C(bH, a)
250250 let bX = C(bP, a)
251251 let bY = fraction(bR, bW, bX)
252252 let bZ = fraction(bT, bW, bX)
253253 let ca = F(bY, bM)
254254 let cb = F(bZ, bN)
255255 let cc = if ((bF == ""))
256256 then nil
257257 else [ScriptTransfer(bI, ca, if ((bK == "WAVES"))
258258 then unit
259259 else fromBase58String(bK)), ScriptTransfer(bI, cb, if ((bL == "WAVES"))
260260 then unit
261261 else fromBase58String(bL)), StringEntry(X(toString(bI), bF), aS(ca, cb, bH, bV, height, lastBlock.timestamp)), IntegerEntry(Q(), bV), IntegerEntry(R(height, lastBlock.timestamp), bV)]
262262 $Tuple10(ca, cb, bK, bL, bQ, bS, bP, bU, bO, cc)
263263 }
264264 }
265265
266266
267267 func cd (bF,be,ce,cf,cg,ch,bI,ci,cj,ck,cl,cm) = {
268268 let bv = aC()
269269 let bJ = fromBase58String(bv[r])
270270 let cn = bv[s]
271271 let co = bv[t]
272272 let cp = bv[w]
273273 let cq = bv[x]
274274 let cr = parseIntValue(bv[u])
275275 let cs = parseIntValue(bv[v])
276276 let bO = bv[q]
277277 let ct = valueOrErrorMessage(assetInfo(bJ), "Wr lp as").quantity
278278 let bQ = if (ci)
279279 then aW(cn)
280280 else if (if (ck)
281281 then (cm == cn)
282282 else false)
283283 then (aW(cn) - cl)
284284 else if (ck)
285285 then aW(cn)
286286 else (aW(cn) - ce)
287287 let bS = if (ci)
288288 then aW(co)
289289 else if (if (ck)
290290 then (cm == co)
291291 else false)
292292 then (aW(co) - cl)
293293 else if (ck)
294294 then aW(co)
295295 else (aW(co) - cg)
296296 let cu = C(ce, cr)
297297 let cv = C(cg, cs)
298298 let cw = aY(cv, cu)
299299 let bR = C(bQ, cr)
300300 let bT = C(bS, cs)
301301 let cx = if ((ct == 0))
302302 then {
303303 let bU = e
304304 let cy = e
305305 let bz = pow((cu * cv), 0, toBigInt(5), 1, 0, DOWN)
306306 $Tuple5(F(bz, a), F(cu, cr), F(cv, cs), aY((bT + cv), (bR + cu)), cy)
307307 }
308308 else {
309309 let bU = aY(bT, bR)
310310 let cz = fraction(M((bU - cw)), c, bU)
311311 let cy = C(be, a)
312312 if (if ((bU != e))
313313 then (cz > cy)
314314 else false)
315315 then throw(((("Price slippage " + toString(cz)) + " > ") + toString(cy)))
316316 else {
317317 let cA = C(ct, a)
318318 let cB = fraction(cu, bU, c)
319319 let cC = fraction(cv, c, bU)
320320 let cD = if ((cB > cv))
321321 then $Tuple2(cC, cv)
322322 else $Tuple2(cu, cB)
323323 let cE = cD._1
324324 let cF = cD._2
325325 let bz = fraction(cA, cF, bT)
326326 $Tuple5(F(bz, a), F(cE, cr), F(cF, cs), bU, cy)
327327 }
328328 }
329329 let cG = cx._1
330330 let cH = cx._2
331331 let cI = cx._3
332332 let bV = F(cx._4, a)
333333 let cJ = F(cx._5, a)
334334 if ((0 >= cG))
335335 then throw("LP <= 0")
336336 else {
337337 let cK = if (!(cj))
338338 then 0
339339 else cG
340340 let cL = (ce - cH)
341341 let cM = (cg - cI)
342342 let cN = if (if (ck)
343343 then (cm == cn)
344344 else false)
345345 then $Tuple2(cl, 0)
346346 else if (if (ck)
347347 then (cm == co)
348348 else false)
349349 then $Tuple2(0, cl)
350350 else $Tuple2(cH, cI)
351351 let cO = cN._1
352352 let cP = cN._2
353353 let cQ = [IntegerEntry(Q(), bV), IntegerEntry(R(height, lastBlock.timestamp), bV), StringEntry(U(bI, bF), aH(cO, cP, cK, bV, be, cJ, height, lastBlock.timestamp, cL, cM))]
354354 $Tuple13(cG, cK, bV, bQ, bS, ct, bJ, bO, cQ, cL, cM, cf, ch)
355355 }
356356 }
357357
358358
359359 func cR (cS) = {
360360 let bv = aC()
361361 let cT = bv[s]
362362 let cU = bv[t]
363363 let bO = parseIntValue(bv[q])
364364 let bw = parseIntValue(bv[u])
365365 let bx = parseIntValue(bv[v])
366366 let cV = aW(cT)
367367 let cW = aW(cU)
368368 let bU = if ((cS.orderType == Buy))
369369 then bm(bw, bx, (cV + cS.amount), cW)
370370 else bm(bw, bx, (cV - cS.amount), cW)
371371 let bV = F(bU, a)
372372 if (if (if (az())
373373 then true
374374 else (bO == n))
375375 then true
376376 else (bO == o))
377377 then throw("Admin blocked")
378378 else {
379379 let cX = cS.assetPair.amountAsset
380380 let cY = if ((cX == unit))
381381 then "WAVES"
382382 else toBase58String(value(cX))
383383 let cZ = cS.assetPair.priceAsset
384384 let da = if ((cZ == unit))
385385 then "WAVES"
386386 else toBase58String(value(cZ))
387387 if (if ((cY != cT))
388388 then true
389389 else (da != cU))
390390 then throw("Wr assets")
391391 else {
392392 let db = cS.price
393393 let cs = fraction(a, bx, bw)
394394 let dc = I(db, a, cs)
395395 let dd = if ((cS.orderType == Buy))
396396 then (bV >= dc)
397397 else (dc >= bV)
398398 true
399399 }
400400 }
401401 }
402402
403403
404404 func de (df) = if ((size(df.payments) != 1))
405405 then throw("1 pmnt exp")
406406 else {
407407 let dg = value(df.payments[0])
408408 let bG = value(dg.assetId)
409409 let cl = dg.amount
410410 let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
411411 let ca = cx._1
412412 let cb = cx._2
413413 let bO = parseIntValue(cx._9)
414414 let cc = cx._10
415415 if (if (az())
416416 then true
417417 else (bO == o))
418418 then throw(("Admin blocked: " + toString(bO)))
419419 else $Tuple5(ca, cb, cl, bG, cc)
420420 }
421421
422422
423423 func dh (di,W,dj,dk,be,cj,ck,cl,cm) = {
424424 let cx = cd(W, be, value(dj).amount, value(dj).assetId, value(dk).amount, value(dk).assetId, di, false, cj, ck, cl, cm)
425425 let bO = parseIntValue(cx._8)
426426 if (if (if (az())
427427 then true
428428 else (bO == m))
429429 then true
430430 else (bO == o))
431431 then throw(("Blocked:" + toString(bO)))
432432 else cx
433433 }
434434
435435
436436 func dl (dm) = {
437437 let dn = fraction(dm, ad, d)
438438 $Tuple2((dm - dn), dn)
439439 }
440440
441441
442442 func do () = {
443443 let ar = getString(O())
444444 if ($isInstanceOf(ar, "String"))
445445 then {
446446 let dp = ar
447447 fromBase58String(dp)
448448 }
449449 else if ($isInstanceOf(ar, "Unit"))
450450 then unit
451451 else throw("Match error")
452452 }
453453
454454
455455 func dq () = {
456456 let ar = getString(P())
457457 if ($isInstanceOf(ar, "String"))
458458 then {
459459 let dp = ar
460460 fromBase58String(dp)
461461 }
462462 else if ($isInstanceOf(ar, "Unit"))
463463 then unit
464464 else throw("Match error")
465465 }
466466
467467
468468 let dr = throw("Permission denied")
469469
470470 func ds (df) = {
471471 let ar = do()
472472 if ($isInstanceOf(ar, "ByteVector"))
473473 then {
474474 let dt = ar
475475 if ((df.callerPublicKey == dt))
476476 then true
477477 else dr
478478 }
479479 else if ($isInstanceOf(ar, "Unit"))
480480 then if ((df.caller == this))
481481 then true
482482 else dr
483483 else throw("Match error")
484484 }
485485
486486
487487 @Callable(df)
488488 func constructor (N) = {
489489 let du = ds(df)
490490 if ((du == du))
491491 then [StringEntry(N(), N)]
492492 else throw("Strict value is not equal to itself.")
493493 }
494494
495495
496496
497497 @Callable(df)
498498 func setManager (dv) = {
499499 let du = ds(df)
500500 if ((du == du))
501501 then {
502502 let dw = fromBase58String(dv)
503503 if ((dw == dw))
504504 then [StringEntry(P(), dv)]
505505 else throw("Strict value is not equal to itself.")
506506 }
507507 else throw("Strict value is not equal to itself.")
508508 }
509509
510510
511511
512512 @Callable(df)
513513 func confirmManager () = {
514514 let bD = dq()
515515 let dx = if (isDefined(bD))
516516 then true
517517 else throw("No pending manager")
518518 if ((dx == dx))
519519 then {
520520 let dy = if ((df.callerPublicKey == value(bD)))
521521 then true
522522 else throw("You are not pending manager")
523523 if ((dy == dy))
524524 then [StringEntry(O(), toBase58String(value(bD))), DeleteEntry(P())]
525525 else throw("Strict value is not equal to itself.")
526526 }
527527 else throw("Strict value is not equal to itself.")
528528 }
529529
530530
531531
532532 @Callable(df)
533533 func put (dz,dA) = {
534534 let dB = aG()
535535 let dC = valueOrErrorMessage(addressFromString(dB[y]), "Wr st addr")
536536 let dD = valueOrErrorMessage(addressFromString(dB[z]), "Wr sl addr")
537537 if ((0 > dz))
538538 then throw("Wrong slippage")
539539 else if ((size(df.payments) != 2))
540540 then throw("2 pmnts expd")
541541 else {
542542 let dE = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], dz, true, false, 0, "")
543543 let cK = dE._2
544544 let dF = dE._7
545545 let cc = dE._9
546546 let cL = dE._10
547547 let cM = dE._11
548548 let bK = dE._12
549549 let bL = dE._13
550550 let cx = invoke(ax, "emit", [cK], nil)
551551 if ((cx == cx))
552552 then {
553553 let dG = {
554554 let ar = cx
555555 if ($isInstanceOf(ar, "Address"))
556556 then {
557557 let dH = ar
558558 invoke(dH, "emit", [cK], nil)
559559 }
560560 else unit
561561 }
562562 if ((dG == dG))
563563 then {
564564 let dI = if ((cL > 0))
565565 then invoke(dD, "put", nil, [AttachedPayment(bK, cL)])
566566 else nil
567567 if ((dI == dI))
568568 then {
569569 let dJ = if ((cM > 0))
570570 then invoke(dD, "put", nil, [AttachedPayment(bL, cM)])
571571 else nil
572572 if ((dJ == dJ))
573573 then {
574574 let dK = if (dA)
575575 then {
576576 let dL = invoke(dC, "stake", nil, [AttachedPayment(dF, cK)])
577577 if ((dL == dL))
578578 then nil
579579 else throw("Strict value is not equal to itself.")
580580 }
581581 else [ScriptTransfer(df.caller, cK, dF)]
582582 (cc ++ dK)
583583 }
584584 else throw("Strict value is not equal to itself.")
585585 }
586586 else throw("Strict value is not equal to itself.")
587587 }
588588 else throw("Strict value is not equal to itself.")
589589 }
590590 else throw("Strict value is not equal to itself.")
591591 }
592592 }
593593
594594
595595
596596 @Callable(df)
597597 func putOneTkn (dM,dN,dO,be,dA) = {
598598 let bv = aG()
599599 let dC = valueOrErrorMessage(addressFromString(bv[y]), "Wr st addr")
600600 let dD = valueOrErrorMessage(addressFromString(bv[z]), "Wr sl addr")
601601 let dP = valueOrErrorMessage(addressFromString(bv[A]), "Wr gwx addr")
602602 let dQ = aC()
603603 let bK = dQ[s]
604604 let bL = dQ[t]
605605 let bM = parseIntValue(dQ[u])
606606 let bN = parseIntValue(dQ[v])
607607 let dR = valueOrElse(getString(this, ab()), "")
608608 let bI = if ((dR == toString(df.caller)))
609609 then df.originCaller
610610 else df.caller
611611 if (if (if (if ((0 >= be))
612612 then true
613613 else (0 >= dM))
614614 then true
615615 else (0 >= dN))
616616 then true
617617 else (0 >= dO))
618618 then throw("Wrong params")
619619 else if ((size(df.payments) != 1))
620620 then throw("1 pmnt expd")
621621 else {
622622 let dg = value(df.payments[0])
623623 let bG = toBase58String(value(dg.assetId))
624624 let dS = dg.amount
625625 let dT = dl(dS)
626626 let cl = dT._1
627627 let dU = dT._2
628- if ((10000000 > cl))
628+ if ((10000000 > dS))
629629 then throw("Wrong pmt amt")
630630 else {
631631 let bQ = aW(bK)
632632 let bS = aW(bL)
633633 let dV = if ((bG == bK))
634634 then if (if ((cl > bQ))
635635 then true
636636 else (dM > cl))
637637 then throw("invalid payment amount")
638638 else $Tuple6((bQ - cl), bS, (cl - dM), dN, 0, 0)
639639 else if ((bG == bL))
640640 then if (if ((cl > bS))
641641 then true
642642 else (dN > cl))
643643 then throw("invalid payment amount")
644644 else $Tuple6(bQ, (bS - cl), 0, 0, (cl - dN), dM)
645645 else throw("wrong pmtAssetId")
646646 let dW = dV._1
647647 let dX = dV._2
648648 let dY = dV._3
649649 let dZ = dV._4
650650 let ea = dV._5
651651 let eb = dV._6
652652 let bj = invoke(dP, "calcD", [toString(dW), toString(dX), ay, h, i], nil)
653653 let bi = invoke(dP, "calcD", [toString(toBigInt(((dW + dY) - eb))), toString(toBigInt(((dX + ea) - dZ))), ay, h, i], nil)
654654 let ec = bh(parseBigIntValue(aq(bi)), parseBigIntValue(aq(bj)), g)
655655 if ((ec == ec))
656656 then {
657657 let ed = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(fromBase58String(bK), dM), AttachedPayment(fromBase58String(bL), dN), be, true, true, cl, bG)
658658 let ee = ed._2
659659 let dF = ed._7
660660 let cc = ed._9
661661 let cL = ed._10
662662 let cM = ed._11
663663 let ef = bb(toBigInt(ee), toBigInt(dO), toBigInt(be))
664664 let cK = toInt(ef._2)
665665 let dE = invoke(ax, "emit", [cK], nil)
666666 if ((dE == dE))
667667 then {
668668 let dG = {
669669 let ar = dE
670670 if ($isInstanceOf(ar, "Address"))
671671 then {
672672 let dH = ar
673673 invoke(dH, "emit", [cK], nil)
674674 }
675675 else unit
676676 }
677677 if ((dG == dG))
678678 then {
679679 let dI = if ((cL > 0))
680680 then invoke(dD, "put", nil, [AttachedPayment(fromBase58String(bK), cL)])
681681 else nil
682682 if ((dI == dI))
683683 then {
684684 let dJ = if ((cM > 0))
685685 then invoke(dD, "put", nil, [AttachedPayment(fromBase58String(bL), cM)])
686686 else nil
687687 if ((dJ == dJ))
688688 then {
689689 let dK = if (dA)
690690 then {
691691 let dL = invoke(dC, "stake", nil, [AttachedPayment(dF, cK)])
692692 if ((dL == dL))
693693 then nil
694694 else throw("Strict value is not equal to itself.")
695695 }
696696 else [ScriptTransfer(df.caller, cK, dF)]
697697 let eg = if ((dU > 0))
698698 then [ScriptTransfer(aB, dU, fromBase58String(bG))]
699699 else nil
700700 ((cc ++ dK) ++ eg)
701701 }
702702 else throw("Strict value is not equal to itself.")
703703 }
704704 else throw("Strict value is not equal to itself.")
705705 }
706706 else throw("Strict value is not equal to itself.")
707707 }
708708 else throw("Strict value is not equal to itself.")
709709 }
710710 else throw("Strict value is not equal to itself.")
711711 }
712712 }
713713 }
714714
715715
716716
717717 @Callable(df)
718718 func putForFree (eh) = if ((0 > eh))
719719 then throw("Wrong slpg")
720720 else if ((size(df.payments) != 2))
721721 then throw("2 pmnts expd")
722722 else {
723723 let ed = dh(toString(df.caller), toBase58String(df.transactionId), AttachedPayment(value(df.payments[0]).assetId, value(df.payments[0]).amount), df.payments[1], eh, false, false, 0, "")
724724 ed._9
725725 }
726726
727727
728728
729729 @Callable(df)
730730 func get () = {
731731 let cx = de(df)
732732 let ei = cx._1
733733 let cb = cx._2
734734 let cl = cx._3
735735 let bG = cx._4
736736 let cc = cx._5
737737 let ej = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
738738 if ((ej == ej))
739739 then cc
740740 else throw("Strict value is not equal to itself.")
741741 }
742742
743743
744744
745745 @Callable(df)
746746 func getOneTkn (ek,el,em,en,be) = if ((size(df.payments) != 1))
747747 then throw("1 pmnt expd")
748748 else {
749749 let bv = aC()
750750 let bJ = bv[r]
751751 let bK = bv[s]
752752 let bL = bv[t]
753753 let bM = parseIntValue(bv[u])
754754 let bN = parseIntValue(bv[v])
755755 let bO = bv[q]
756756 let dB = aG()
757757 let dP = valueOrErrorMessage(addressFromString(dB[A]), "Wr sl addr")
758758 let dg = value(df.payments[0])
759759 let dR = valueOrElse(getString(this, ab()), "")
760760 let bI = if ((dR == toString(df.caller)))
761761 then df.originCaller
762762 else df.caller
763763 let bF = toBase58String(df.transactionId)
764764 let bG = value(dg.assetId)
765765 let cl = dg.amount
766766 if ((1000000000 > cl))
767767 then throw("Min pmt 10 LP")
768768 else if (if (if ((0 > be))
769769 then true
770770 else (0 > ek))
771771 then true
772772 else (0 > em))
773773 then throw("Wrong params")
774774 else if ((bJ != toBase58String(bG)))
775775 then throw("Wrong LP")
776776 else {
777777 let cx = bE(toBase58String(df.transactionId), toBase58String(bG), cl, df.caller)
778778 let eo = cx._1
779779 let ep = cx._2
780780 let bQ = aW(bK)
781781 let bS = aW(bL)
782782 let eq = if ((en == bK))
783783 then $Tuple7((bQ - eo), (bS - ep), ek, ep, 0, 0, (eo + ek))
784784 else if ((en == bL))
785785 then $Tuple7((bQ - eo), (bS - ep), 0, 0, ek, eo, (ep + ek))
786786 else throw("wrong outAssetId")
787787 let dW = eq._1
788788 let dX = eq._2
789789 let dY = eq._3
790790 let dZ = eq._4
791791 let ea = eq._5
792792 let eb = eq._6
793793 let er = eq._7
794794 if (if ((0 > dY))
795795 then true
796796 else (0 > ea))
797797 then throw("Wrong calc")
798798 else {
799799 let bj = invoke(dP, "calcD", [toString(dW), toString(dX), ay, h, i], nil)
800800 let bi = invoke(dP, "calcD", [toString(((dW - dY) + eb)), toString(((dX + dZ) - ea)), ay, h, i], nil)
801801 let ec = bh(parseBigIntValue(aq(bi)), parseBigIntValue(aq(bj)), g)
802802 if ((ec == ec))
803803 then {
804- let es = bb(toBigInt(er), toBigInt(em), toBigInt(be))
805- if ((es == es))
804+ let es = dl(er)._1
805+ let et = bb(toBigInt(es), toBigInt(em), toBigInt(be))
806+ if ((et == et))
806807 then {
807- let et = if ((en == bK))
808- then $Tuple2(toInt(es._2), 0)
809- else $Tuple2(0, toInt(es._2))
810- let eu = et._1
811- let ev = et._2
812- let ew = (eu + ev)
813- let ex = dl(ew)
814- let ey = ex._1
815- let dU = ex._2
816- let ez = if ((en == "WAVES"))
808+ let eu = if ((en == bK))
809+ then $Tuple2(toInt(et._2), 0)
810+ else $Tuple2(0, toInt(et._2))
811+ let ev = eu._1
812+ let ew = eu._2
813+ let ex = (ev + ew)
814+ let dU = (er - es)
815+ let ey = if ((en == "WAVES"))
817816 then unit
818817 else fromBase58String(en)
819818 let eg = if ((dU > 0))
820- then [ScriptTransfer(aB, dU, ez)]
819+ then [ScriptTransfer(aB, dU, ey)]
821820 else nil
822- let eA = aY(C(bS, bN), C(bQ, bM))
823- let eB = F(eA, a)
824- let cc = [ScriptTransfer(bI, ey, ez), StringEntry(X(toString(bI), bF), aS(eu, ev, cl, eB, height, lastBlock.timestamp)), IntegerEntry(Q(), eB), IntegerEntry(R(height, lastBlock.timestamp), eB)]
821+ let ez = aY(C(bS, bN), C(bQ, bM))
822+ let eA = F(ez, a)
823+ let cc = [ScriptTransfer(bI, ex, ey), StringEntry(X(toString(bI), bF), aS(ev, ew, cl, eA, height, lastBlock.timestamp)), IntegerEntry(Q(), eA), IntegerEntry(R(height, lastBlock.timestamp), eA)]
825824 if ((cc == cc))
826825 then {
827- let eC = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
828- if ((eC == eC))
826+ let eB = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
827+ if ((eB == eB))
829828 then (cc ++ eg)
830829 else throw("Strict value is not equal to itself.")
831830 }
832831 else throw("Strict value is not equal to itself.")
833832 }
834833 else throw("Strict value is not equal to itself.")
835834 }
836835 else throw("Strict value is not equal to itself.")
837836 }
838837 }
839838 }
840839
841840
842841
843842 @Callable(df)
844-func getNoLess (eD,eE) = {
843+func getNoLess (eC,eD) = {
845844 let cx = de(df)
846845 let ca = cx._1
847846 let cb = cx._2
848847 let cl = cx._3
849848 let bG = cx._4
850849 let cc = cx._5
851- if ((eD > ca))
852- then throw(((("Failed: " + toString(ca)) + " < ") + toString(eD)))
853- else if ((eE > cb))
854- then throw(((("Failed: " + toString(cb)) + " < ") + toString(eE)))
850+ if ((eC > ca))
851+ then throw(((("Failed: " + toString(ca)) + " < ") + toString(eC)))
852+ else if ((eD > cb))
853+ then throw(((("Failed: " + toString(cb)) + " < ") + toString(eD)))
855854 else {
856- let eF = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
857- if ((eF == eF))
855+ let eE = invoke(ax, "burn", [cl], [AttachedPayment(bG, cl)])
856+ if ((eE == eE))
858857 then cc
859858 else throw("Strict value is not equal to itself.")
860859 }
861860 }
862861
863862
864863
865864 @Callable(df)
866865 func unstakeAndGet (dm) = {
867- let eG = if ((size(df.payments) != 0))
866+ let eF = if ((size(df.payments) != 0))
868867 then throw("No pmnts expd")
869868 else true
870- if ((eG == eG))
869+ if ((eF == eF))
871870 then {
872871 let bv = aC()
873- let eH = aG()
872+ let eG = aG()
874873 let dF = fromBase58String(bv[r])
875- let eI = valueOrErrorMessage(addressFromString(eH[y]), "Wr st addr")
876- let eJ = invoke(eI, "unstake", [toBase58String(dF), dm], nil)
877- if ((eJ == eJ))
874+ let eH = valueOrErrorMessage(addressFromString(eG[y]), "Wr st addr")
875+ let eI = invoke(eH, "unstake", [toBase58String(dF), dm], nil)
876+ if ((eI == eI))
878877 then {
879878 let cx = bE(toBase58String(df.transactionId), toBase58String(dF), dm, df.caller)
880879 let bO = parseIntValue(cx._9)
881880 let cc = cx._10
882- let eK = if (if (az())
881+ let eJ = if (if (az())
883882 then true
884883 else (bO == o))
885884 then throw(("Blocked: " + toString(bO)))
886885 else true
887- if ((eK == eK))
886+ if ((eJ == eJ))
888887 then {
889- let eL = invoke(ax, "burn", [dm], [AttachedPayment(dF, dm)])
890- if ((eL == eL))
888+ let eK = invoke(ax, "burn", [dm], [AttachedPayment(dF, dm)])
889+ if ((eK == eK))
891890 then cc
892891 else throw("Strict value is not equal to itself.")
893892 }
894893 else throw("Strict value is not equal to itself.")
895894 }
896895 else throw("Strict value is not equal to itself.")
897896 }
898897 else throw("Strict value is not equal to itself.")
899898 }
900899
901900
902901
903902 @Callable(df)
904-func activate (eM,eN) = if ((toString(df.caller) != toString(ax)))
903+func activate (eL,eM) = if ((toString(df.caller) != toString(ax)))
905904 then throw("denied")
906- else $Tuple2([StringEntry(Y(), eM), StringEntry(Z(), eN)], "success")
905+ else $Tuple2([StringEntry(Y(), eL), StringEntry(Z(), eM)], "success")
907906
908907
909908
910909 @Callable(df)
911-func setS (eO,eK) = if ((toString(df.caller) != at(this, ab())))
910+func setS (eN,eJ) = if ((toString(df.caller) != at(this, ab())))
912911 then dr
913- else [StringEntry(eO, eK)]
912+ else [StringEntry(eN, eJ)]
914913
915914
916915
917916 @Callable(df)
918-func setI (eO,eK) = if ((toString(df.caller) != at(this, ab())))
917+func setI (eN,eJ) = if ((toString(df.caller) != at(this, ab())))
919918 then dr
920- else [IntegerEntry(eO, eK)]
919+ else [IntegerEntry(eN, eJ)]
921920
922921
923922
924923 @Callable(df)
925924 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aC())
926925
927926
928927
929928 @Callable(df)
930929 func getAccBalanceWrapperREADONLY (aX) = $Tuple2(nil, aW(aX))
931930
932931
933932
934933 @Callable(df)
935934 func calcPricesWrapperREADONLY (bp,bq,bu) = {
936- let eP = bt(bp, bq, bu)
937- $Tuple2(nil, [toString(eP[0]), toString(eP[1]), toString(eP[2])])
935+ let eO = bt(bp, bq, bu)
936+ $Tuple2(nil, [toString(eO[0]), toString(eO[1]), toString(eO[2])])
938937 }
939938
940939
941940
942941 @Callable(df)
943-func fromX18WrapperREADONLY (G,eQ) = $Tuple2(nil, F(parseBigIntValue(G), eQ))
942+func fromX18WrapperREADONLY (G,eP) = $Tuple2(nil, F(parseBigIntValue(G), eP))
944943
945944
946945
947946 @Callable(df)
948947 func toX18WrapperREADONLY (D,E) = $Tuple2(nil, toString(C(D, E)))
949948
950949
951950
952951 @Callable(df)
953952 func calcPriceBigIntWrapperREADONLY (aZ,ba) = $Tuple2(nil, toString(aY(parseBigIntValue(aZ), parseBigIntValue(ba))))
954953
955954
956955
957956 @Callable(df)
958-func estimatePutOperationWrapperREADONLY (bF,be,ce,cf,cg,ch,eR,ci,cj) = $Tuple2(nil, cd(bF, be, ce, cf, cg, ch, eR, ci, cj, false, 0, ""))
957+func estimatePutOperationWrapperREADONLY (bF,be,ce,cf,cg,ch,eQ,ci,cj) = $Tuple2(nil, cd(bF, be, ce, cf, cg, ch, eQ, ci, cj, false, 0, ""))
959958
960959
961960
962961 @Callable(df)
963-func estimateGetOperationWrapperREADONLY (bF,eS,bH,eR) = {
964- let cx = bE(bF, eS, bH, addressFromStringValue(eR))
962+func estimateGetOperationWrapperREADONLY (bF,eR,bH,eQ) = {
963+ let cx = bE(bF, eR, bH, addressFromStringValue(eQ))
965964 $Tuple2(nil, $Tuple10(cx._1, cx._2, cx._3, cx._4, cx._5, cx._6, cx._7, toString(cx._8), cx._9, cx._10))
966965 }
967966
968967
969-@Verifier(eT)
970-func eU () = {
971- let ar = eT
968+@Verifier(eS)
969+func eT () = {
970+ let ar = eS
972971 if ($isInstanceOf(ar, "Order"))
973972 then {
974973 let cS = ar
975- let eV = aA()
974+ let eU = aA()
976975 let an = cR(cS)
977- let eW = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
978- let eX = sigVerify(cS.bodyBytes, cS.proofs[1], eV)
976+ let eV = sigVerify(cS.bodyBytes, cS.proofs[0], cS.senderPublicKey)
977+ let eW = sigVerify(cS.bodyBytes, cS.proofs[1], eU)
979978 if (if (if (an)
979+ then eV
980+ else false)
980981 then eW
981982 else false)
982- then eX
983- else false)
984983 then true
985- else am(an, eW, eX)
984+ else am(an, eV, eW)
986985 }
987986 else {
988- let eY = {
989- let eZ = do()
990- if ($isInstanceOf(eZ, "ByteVector"))
987+ let eX = {
988+ let eY = do()
989+ if ($isInstanceOf(eY, "ByteVector"))
991990 then {
992- let dt = eZ
991+ let dt = eY
993992 dt
994993 }
995- else if ($isInstanceOf(eZ, "Unit"))
996- then eT.senderPublicKey
994+ else if ($isInstanceOf(eY, "Unit"))
995+ then eS.senderPublicKey
997996 else throw("Match error")
998997 }
999- sigVerify(eT.bodyBytes, eT.proofs[0], eY)
998+ sigVerify(eS.bodyBytes, eS.proofs[0], eX)
1000999 }
10011000 }
10021001

github/deemru/w8io/169f3d6 
134.33 ms