tx · CyKrXRuP7eakU9qV4hJTD23XBcf6safsxMnrZ3XVQb5T

3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS:  -0.01100000 Waves

2023.10.06 11:35 [3852359] smart account 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS > SELF 0.00000000 Waves

{ "type": 13, "id": "CyKrXRuP7eakU9qV4hJTD23XBcf6safsxMnrZ3XVQb5T", "fee": 1100000, "feeAssetId": null, "timestamp": 1696581366363, "version": 2, "chainId": 87, "sender": "3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS", "senderPublicKey": "6vs9orALhZsXKNcKtzPwfM18kgyVRj7qiXM4EdQSgAaZ", "proofs": [ "3tmYXEUh4T5xbEXBZmGXrxWSMzvdZQrARMnnEcHFhNfxGkoHoTUrpqM6CRFX3S6yrDAe1cuGnb1xhFLj5QF5tAVv" ], "script": "base64:AAIFAAAAAAAAAAgIAhIAEgASAAAAAAMAAAAAC2FkbWlucmlnaHRzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAABFEQXBwX0FkbWluX1JpZ2h0cwAAAAADWFROAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QEAAAAMd2hpY2hzaWRld2luAAAAAAQAAAAQU3dvcF9BTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BIYU5nb21Ca3J2RUwyUW51SmFyUVZKYTcxd2p3OXFpcUcEAAAAEXhQb29sX0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUFB3RmoyNWI1cjhkaVR4QWRBUndWOHhFUFFoVG9FQ1NMQwQAAAALc3dvcF9mYWN0b3IAAAAAAAAAAAYEAAAADHhQb29sX2ZhY3RvcgAAAAAAAAAACgQAAAAJa0JhbGFuY2VBAgAAAA9BX2Fzc2V0X2JhbGFuY2UEAAAAD0FfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAQU3dvcF9BTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VBBAAAAAlrQmFsYW5jZUICAAAAD0JfYXNzZXRfYmFsYW5jZQQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABBTd29wX0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUIEAAAAFHN3b3BfbmV3YmFsYW5jZW9mWFROCQAAawAAAAMFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAAPQV9hc3NldF9iYWxhbmNlCQAAZAAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQAAAAAAAExLQAQAAAAXU3dvcF9taW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlBQAAABRzd29wX25ld2JhbGFuY2VvZlhUTgQAAAAIc3dvcF9mZWUJAABrAAAAAwUAAAAXU3dvcF9taW5BbW91bnRUb1JlY2VpdmUFAAAAC3N3b3BfZmFjdG9yAAAAAAAAAAPoBAAAABpzd29wX2FjdHVhbEFtb3VudFRvUmVjZWl2ZQkAAGUAAAACCQAAZQAAAAIFAAAAF1N3b3BfbWluQW1vdW50VG9SZWNlaXZlBQAAAAhzd29wX2ZlZQAAAAAAAAAAAgQAAAAPeFBvb2xfa0JhbGFuY2VBAgAAAD1CYWxhbmNlX29mX0RHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwX1dBVkVTBAAAABV4UG9vbF9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEXhQb29sX0FNTV9BZGRyZXNzBQAAAA94UG9vbF9rQmFsYW5jZUEEAAAAD3hQb29sX2tCYWxhbmNlQgIAAAA9QmFsYW5jZV9vZl9XQVZFU19ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABF4UG9vbF9BTU1fQWRkcmVzcwUAAAAPeFBvb2xfa0JhbGFuY2VCBAAAABV4UG9vbF9uZXdiYWxhbmNlb2ZYVE4JAABrAAAAAwUAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlBQAAABV4UG9vbF9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAVeFBvb2xfQl9hc3NldF9iYWxhbmNlAAAAAAAATEtABAAAABh4UG9vbF9taW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAVeFBvb2xfQV9hc3NldF9iYWxhbmNlBQAAABV4UG9vbF9uZXdiYWxhbmNlb2ZYVE4EAAAACXhQb29sX2ZlZQkAAGsAAAADBQAAABh4UG9vbF9taW5BbW91bnRUb1JlY2VpdmUFAAAADHhQb29sX2ZhY3RvcgAAAAAAAAAD6AQAAAAbeFBvb2xfYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAGHhQb29sX21pbkFtb3VudFRvUmVjZWl2ZQUAAAAJeFBvb2xfZmVlBAAAAAx4UG9vbF93aW5uZXIJAABlAAAAAgUAAAAbeFBvb2xfYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAABpzd29wX2FjdHVhbEFtb3VudFRvUmVjZWl2ZQQAAAALc3dvcF93aW5uZXIJAABlAAAAAgUAAAAac3dvcF9hY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAAG3hQb29sX2FjdHVhbEFtb3VudFRvUmVjZWl2ZQMJAABmAAAAAgUAAAAbeFBvb2xfYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAABpzd29wX2FjdHVhbEFtb3VudFRvUmVjZWl2ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAMeFBvb2wtV2lubmVyBQAAAAx4UG9vbF93aW5uZXIFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALU3dvcC1XaW5uZXIFAAAAC3N3b3Bfd2lubmVyBQAAAANuaWwAAAADAAAAAWkBAAAADlN3YXBYVE5Ub1dhdmVzAAAAAAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAQU3dvcF9BTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BIYU5nb21Ca3J2RUwyUW51SmFyUVZKYTcxd2p3OXFpcUcEAAAAEXhQb29sX0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUFB3RmoyNWI1cjhkaVR4QWRBUndWOHhFUFFoVG9FQ1NMQwQAAAAGZmFjdG9yAAAAAAAAAAAGBAAAAAlrQmFsYW5jZUECAAAAD0FfYXNzZXRfYmFsYW5jZQQAAAAPQV9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABBTd29wX0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAAPQl9hc3NldF9iYWxhbmNlBAAAAA9CX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAEFN3b3BfQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQgQAAAAPbmV3YmFsYW5jZW9mWFROCQAAawAAAAMFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAAPQV9hc3NldF9iYWxhbmNlCQAAZAAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UFAAAAD25ld2JhbGFuY2VvZlhUTgQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAAPoBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgkAAGUAAAACBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAAA2ZlZQAAAAAAAAAAAgQAAAAHcGF5bWVudAkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAA1hUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAACHBheW1lbnQxCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAEdW5pdAUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBAAAABBTd2FwX1hUTl9hdF9Td29wCQAD/AAAAAQFAAAAEFN3b3BfQU1NX0FkZHJlc3MCAAAACGV4Y2hhbmdlCQAETAAAAAIFAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQUAAAADbmlsCQAETAAAAAIFAAAAB3BheW1lbnQFAAAAA25pbAQAAAATU3dhcF9XYXZlc19hdF94UG9vbAkAA/wAAAAEBQAAABF4UG9vbF9BTU1fQWRkcmVzcwIAAAAZU3dhcFdBVkVTVG9Bc3NldFBhaXJFbnRyeQkABEwAAAACAgAAACxERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAUAAAADbmlsCQAETAAAAAIFAAAACHBheW1lbnQxBQAAAANuaWwEAAAAEGdldFdpbm5lcl9JbnZva2UJAAP8AAAABAUAAAAEdGhpcwIAAAAMd2hpY2hzaWRld2luBQAAAANuaWwFAAAAA25pbAMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAUIGhhcyByaWdodHMgdG8gU2lnbi4DCQAAAAAAAAIFAAAAEFN3YXBfWFROX2F0X1N3b3AFAAAAEFN3YXBfWFROX2F0X1N3b3ADCQAAAAAAAAIFAAAAE1N3YXBfV2F2ZXNfYXRfeFBvb2wFAAAAE1N3YXBfV2F2ZXNfYXRfeFBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAA01pbgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIC/MI9BPmHcpgjiz5B78lMslen9dOa5R2YaEtWjFpqZ7CQAD8AAAAAIFAAAABHRoaXMFAAAAA1hUTgUAAAADWFROCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAEVRoYW5reW91IHRvIFN3YXAuBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA5Td2FwV2F2ZXNUb1hUTgAAAAAEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACVUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEhhTmdvbUJrcnZFTDJRbnVKYXJRVkphNzF3anc5cWlxRwQAAAAFV0FWRVMFAAAABHVuaXQEAAAABmZhY3RvcgAAAAAAAAAABwQAAAAJa0JhbGFuY2VBAgAAAA9BX2Fzc2V0X2JhbGFuY2UEAAAAD0FfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQQQAAAAJa0JhbGFuY2VCAgAAAA9CX2Fzc2V0X2JhbGFuY2UEAAAAD0JfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQgQAAAARbmV3YmFsYW5jZW9mV2F2ZXMJAABrAAAAAwUAAAAPQl9hc3NldF9iYWxhbmNlBQAAAA9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAASbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAARbmV3YmFsYW5jZW9mV2F2ZXMEAAAAA2ZlZQkAAGsAAAADBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAABmZhY3RvcgAAAAAAAAAD6AQAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAADZmVlBAAAAAdwYXltZW50CQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAFV0FWRVMIBQAAAANwbXQAAAAGYW1vdW50BAAAAAtpbnZva2VXYXZlcwkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAAANuaWwJAARMAAAAAgUAAAAHcGF5bWVudAUAAAADbmlsAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAABQgaGFzIHJpZ2h0cyB0byBTaWduLgMJAAAAAAAAAgUAAAALaW52b2tlV2F2ZXMFAAAAC2ludm9rZVdhdmVzCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIPimNBMlwlKjAw+egKnmxgiNONSVSck9rAJYIicvPaoLCQAAZQAAAAIFAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQUAAAADZmVlBQAAAANYVE4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAgON+PCdjVr2lARV1VFXv4tLT1TNztXiQqwyT5riBDaQIFAAAAA2ZlZQUAAAADWFROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAANNaW4FAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAABFUaGFua3lvdSB0byBTd2FwLgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlzZXRfQWRtaW4AAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEURBcHBfQWRtaW5fUmlnaHRzAgAAACMzUERta3BvZlltdVFnaHlNZVlmZ0RrdWNXMnVUZGg4ck1OdAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlH4MNc", "height": 3852359, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ckgv7z3Rm6ymyr2n8fSx69LGiH3o59tTbcFNVECSyYBy Next: 7kjjjo18BCXTxi56gXAGJ1gfzbV5Y8VjZVp7AmEpMVUR Diff:
OldNewDifferences
2929 let xPool_winner = (xPool_actualAmountToReceive - swop_actualAmountToReceive)
3030 let swop_winner = (swop_actualAmountToReceive - xPool_actualAmountToReceive)
3131 if ((xPool_actualAmountToReceive > swop_actualAmountToReceive))
32- then xPool_winner
33- else swop_winner
32+ then [IntegerEntry("xPool-Winner", xPool_winner)]
33+ else [IntegerEntry("Swop-Winner", swop_winner)]
3434 }
3535
3636
3737 @Callable(i)
3838 func SwapXTNToWaves () = {
39- let getwinner = whichsidewin()
4039 let pmt = if ((size(i.payments) == 1))
4140 then i.payments[0]
4241 else throw("Token is required as Attached payment")
5655 let payment1 = AttachedPayment(unit, actualAmountToReceive)
5756 let Swap_XTN_at_Swop = invoke(Swop_AMM_Address, "exchange", [actualAmountToReceive], [payment])
5857 let Swap_Waves_at_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1])
58+ let getWinner_Invoke = invoke(this, "whichsidewin", nil, nil)
5959 if ((adminrights != calleraddress))
6060 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
6161 else if ((Swap_XTN_at_Swop == Swap_XTN_at_Swop))
6262 then if ((Swap_Waves_at_xPool == Swap_Waves_at_xPool))
63- then [IntegerEntry("Min", actualAmountToReceive), IntegerEntry("Winner", getwinner), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
63+ then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
6464 else throw("Strict value is not equal to itself.")
6565 else throw("Strict value is not equal to itself.")
6666 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminrights = getStringValue(this, "DApp_Admin_Rights")
55
66 let XTN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 func whichsidewin () = {
99 let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
1010 let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
1111 let swop_factor = 6
1212 let xPool_factor = 10
1313 let kBalanceA = "A_asset_balance"
1414 let A_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceA)
1515 let kBalanceB = "B_asset_balance"
1616 let B_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceB)
1717 let swop_newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + 5000000))
1818 let Swop_minAmountToReceive = (A_asset_balance - swop_newbalanceofXTN)
1919 let swop_fee = fraction(Swop_minAmountToReceive, swop_factor, 1000)
2020 let swop_actualAmountToReceive = ((Swop_minAmountToReceive - swop_fee) - 2)
2121 let xPool_kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES"
2222 let xPool_A_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceA)
2323 let xPool_kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
2424 let xPool_B_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceB)
2525 let xPool_newbalanceofXTN = fraction(xPool_B_asset_balance, xPool_A_asset_balance, (xPool_B_asset_balance + 5000000))
2626 let xPool_minAmountToReceive = (xPool_A_asset_balance - xPool_newbalanceofXTN)
2727 let xPool_fee = fraction(xPool_minAmountToReceive, xPool_factor, 1000)
2828 let xPool_actualAmountToReceive = (xPool_minAmountToReceive - xPool_fee)
2929 let xPool_winner = (xPool_actualAmountToReceive - swop_actualAmountToReceive)
3030 let swop_winner = (swop_actualAmountToReceive - xPool_actualAmountToReceive)
3131 if ((xPool_actualAmountToReceive > swop_actualAmountToReceive))
32- then xPool_winner
33- else swop_winner
32+ then [IntegerEntry("xPool-Winner", xPool_winner)]
33+ else [IntegerEntry("Swop-Winner", swop_winner)]
3434 }
3535
3636
3737 @Callable(i)
3838 func SwapXTNToWaves () = {
39- let getwinner = whichsidewin()
4039 let pmt = if ((size(i.payments) == 1))
4140 then i.payments[0]
4241 else throw("Token is required as Attached payment")
4342 let calleraddress = toBase58String(i.caller.bytes)
4443 let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
4544 let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
4645 let factor = 6
4746 let kBalanceA = "A_asset_balance"
4847 let A_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceA)
4948 let kBalanceB = "B_asset_balance"
5049 let B_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceB)
5150 let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
5251 let minAmountToReceive = (A_asset_balance - newbalanceofXTN)
5352 let fee = fraction(minAmountToReceive, factor, 1000)
5453 let actualAmountToReceive = ((minAmountToReceive - fee) - 2)
5554 let payment = AttachedPayment(XTN, pmt.amount)
5655 let payment1 = AttachedPayment(unit, actualAmountToReceive)
5756 let Swap_XTN_at_Swop = invoke(Swop_AMM_Address, "exchange", [actualAmountToReceive], [payment])
5857 let Swap_Waves_at_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1])
58+ let getWinner_Invoke = invoke(this, "whichsidewin", nil, nil)
5959 if ((adminrights != calleraddress))
6060 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
6161 else if ((Swap_XTN_at_Swop == Swap_XTN_at_Swop))
6262 then if ((Swap_Waves_at_xPool == Swap_Waves_at_xPool))
63- then [IntegerEntry("Min", actualAmountToReceive), IntegerEntry("Winner", getwinner), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
63+ then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
6464 else throw("Strict value is not equal to itself.")
6565 else throw("Strict value is not equal to itself.")
6666 }
6767
6868
6969
7070 @Callable(i)
7171 func SwapWavesToXTN () = {
7272 let pmt = if ((size(i.payments) == 1))
7373 then i.payments[0]
7474 else throw("Token is required as Attached payment")
7575 let calleraddress = toBase58String(i.caller.bytes)
7676 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
7777 let WAVES = unit
7878 let factor = 7
7979 let kBalanceA = "A_asset_balance"
8080 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
8181 let kBalanceB = "B_asset_balance"
8282 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
8383 let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount))
8484 let minAmountToReceive = (B_asset_balance - newbalanceofWaves)
8585 let fee = fraction(minAmountToReceive, factor, 1000)
8686 let actualAmountToReceive = (minAmountToReceive - fee)
8787 let payment = AttachedPayment(WAVES, pmt.amount)
8888 let invokeWaves = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment])
8989 if ((adminrights != calleraddress))
9090 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
9191 else if ((invokeWaves == invokeWaves))
9292 then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), (actualAmountToReceive - fee), XTN), ScriptTransfer(addressFromPublicKey(base58'4q1YkzkM4pYzHp4jBtugQowp6LREYGvhceFaBBAVt3bo'), fee, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")]
9393 else throw("Strict value is not equal to itself.")
9494 }
9595
9696
9797
9898 @Callable(i)
9999 func set_Admin () = [StringEntry("DApp_Admin_Rights", "3PDmkpofYmuQghyMeYfgDkucW2uTdh8rMNt")]
100100
101101
102102 @Verifier(tx)
103103 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
104104

github/deemru/w8io/873ac7e 
56.66 ms