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:
Old | New | Differences | |
---|---|---|---|
29 | 29 | let xPool_winner = (xPool_actualAmountToReceive - swop_actualAmountToReceive) | |
30 | 30 | let swop_winner = (swop_actualAmountToReceive - xPool_actualAmountToReceive) | |
31 | 31 | 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)] | |
34 | 34 | } | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | @Callable(i) | |
38 | 38 | func SwapXTNToWaves () = { | |
39 | - | let getwinner = whichsidewin() | |
40 | 39 | let pmt = if ((size(i.payments) == 1)) | |
41 | 40 | then i.payments[0] | |
42 | 41 | else throw("Token is required as Attached payment") | |
56 | 55 | let payment1 = AttachedPayment(unit, actualAmountToReceive) | |
57 | 56 | let Swap_XTN_at_Swop = invoke(Swop_AMM_Address, "exchange", [actualAmountToReceive], [payment]) | |
58 | 57 | let Swap_Waves_at_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1]) | |
58 | + | let getWinner_Invoke = invoke(this, "whichsidewin", nil, nil) | |
59 | 59 | if ((adminrights != calleraddress)) | |
60 | 60 | then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign.")) | |
61 | 61 | else if ((Swap_XTN_at_Swop == Swap_XTN_at_Swop)) | |
62 | 62 | then if ((Swap_Waves_at_xPool == Swap_Waves_at_xPool)) | |
63 | - | then [IntegerEntry("Min", actualAmountToReceive | |
63 | + | then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
64 | 64 | else throw("Strict value is not equal to itself.") | |
65 | 65 | else throw("Strict value is not equal to itself.") | |
66 | 66 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let adminrights = getStringValue(this, "DApp_Admin_Rights") | |
5 | 5 | ||
6 | 6 | let XTN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
7 | 7 | ||
8 | 8 | func whichsidewin () = { | |
9 | 9 | let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
10 | 10 | let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC") | |
11 | 11 | let swop_factor = 6 | |
12 | 12 | let xPool_factor = 10 | |
13 | 13 | let kBalanceA = "A_asset_balance" | |
14 | 14 | let A_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceA) | |
15 | 15 | let kBalanceB = "B_asset_balance" | |
16 | 16 | let B_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceB) | |
17 | 17 | let swop_newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + 5000000)) | |
18 | 18 | let Swop_minAmountToReceive = (A_asset_balance - swop_newbalanceofXTN) | |
19 | 19 | let swop_fee = fraction(Swop_minAmountToReceive, swop_factor, 1000) | |
20 | 20 | let swop_actualAmountToReceive = ((Swop_minAmountToReceive - swop_fee) - 2) | |
21 | 21 | let xPool_kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES" | |
22 | 22 | let xPool_A_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceA) | |
23 | 23 | let xPool_kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" | |
24 | 24 | let xPool_B_asset_balance = getIntegerValue(xPool_AMM_Address, xPool_kBalanceB) | |
25 | 25 | let xPool_newbalanceofXTN = fraction(xPool_B_asset_balance, xPool_A_asset_balance, (xPool_B_asset_balance + 5000000)) | |
26 | 26 | let xPool_minAmountToReceive = (xPool_A_asset_balance - xPool_newbalanceofXTN) | |
27 | 27 | let xPool_fee = fraction(xPool_minAmountToReceive, xPool_factor, 1000) | |
28 | 28 | let xPool_actualAmountToReceive = (xPool_minAmountToReceive - xPool_fee) | |
29 | 29 | let xPool_winner = (xPool_actualAmountToReceive - swop_actualAmountToReceive) | |
30 | 30 | let swop_winner = (swop_actualAmountToReceive - xPool_actualAmountToReceive) | |
31 | 31 | 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)] | |
34 | 34 | } | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | @Callable(i) | |
38 | 38 | func SwapXTNToWaves () = { | |
39 | - | let getwinner = whichsidewin() | |
40 | 39 | let pmt = if ((size(i.payments) == 1)) | |
41 | 40 | then i.payments[0] | |
42 | 41 | else throw("Token is required as Attached payment") | |
43 | 42 | let calleraddress = toBase58String(i.caller.bytes) | |
44 | 43 | let Swop_AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
45 | 44 | let xPool_AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC") | |
46 | 45 | let factor = 6 | |
47 | 46 | let kBalanceA = "A_asset_balance" | |
48 | 47 | let A_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceA) | |
49 | 48 | let kBalanceB = "B_asset_balance" | |
50 | 49 | let B_asset_balance = getIntegerValue(Swop_AMM_Address, kBalanceB) | |
51 | 50 | let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount)) | |
52 | 51 | let minAmountToReceive = (A_asset_balance - newbalanceofXTN) | |
53 | 52 | let fee = fraction(minAmountToReceive, factor, 1000) | |
54 | 53 | let actualAmountToReceive = ((minAmountToReceive - fee) - 2) | |
55 | 54 | let payment = AttachedPayment(XTN, pmt.amount) | |
56 | 55 | let payment1 = AttachedPayment(unit, actualAmountToReceive) | |
57 | 56 | let Swap_XTN_at_Swop = invoke(Swop_AMM_Address, "exchange", [actualAmountToReceive], [payment]) | |
58 | 57 | let Swap_Waves_at_xPool = invoke(xPool_AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1]) | |
58 | + | let getWinner_Invoke = invoke(this, "whichsidewin", nil, nil) | |
59 | 59 | if ((adminrights != calleraddress)) | |
60 | 60 | then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign.")) | |
61 | 61 | else if ((Swap_XTN_at_Swop == Swap_XTN_at_Swop)) | |
62 | 62 | then if ((Swap_Waves_at_xPool == Swap_Waves_at_xPool)) | |
63 | - | then [IntegerEntry("Min", actualAmountToReceive | |
63 | + | then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'4Dahqn4MYNrieo9AX8qLWNCseBQNc9skQY81h4DFoote'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")] | |
64 | 64 | else throw("Strict value is not equal to itself.") | |
65 | 65 | else throw("Strict value is not equal to itself.") | |
66 | 66 | } | |
67 | 67 | ||
68 | 68 | ||
69 | 69 | ||
70 | 70 | @Callable(i) | |
71 | 71 | func SwapWavesToXTN () = { | |
72 | 72 | let pmt = if ((size(i.payments) == 1)) | |
73 | 73 | then i.payments[0] | |
74 | 74 | else throw("Token is required as Attached payment") | |
75 | 75 | let calleraddress = toBase58String(i.caller.bytes) | |
76 | 76 | let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG") | |
77 | 77 | let WAVES = unit | |
78 | 78 | let factor = 7 | |
79 | 79 | let kBalanceA = "A_asset_balance" | |
80 | 80 | let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA) | |
81 | 81 | let kBalanceB = "B_asset_balance" | |
82 | 82 | let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB) | |
83 | 83 | let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount)) | |
84 | 84 | let minAmountToReceive = (B_asset_balance - newbalanceofWaves) | |
85 | 85 | let fee = fraction(minAmountToReceive, factor, 1000) | |
86 | 86 | let actualAmountToReceive = (minAmountToReceive - fee) | |
87 | 87 | let payment = AttachedPayment(WAVES, pmt.amount) | |
88 | 88 | let invokeWaves = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment]) | |
89 | 89 | if ((adminrights != calleraddress)) | |
90 | 90 | then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign.")) | |
91 | 91 | else if ((invokeWaves == invokeWaves)) | |
92 | 92 | then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), (actualAmountToReceive - fee), XTN), ScriptTransfer(addressFromPublicKey(base58'4q1YkzkM4pYzHp4jBtugQowp6LREYGvhceFaBBAVt3bo'), fee, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")] | |
93 | 93 | else throw("Strict value is not equal to itself.") | |
94 | 94 | } | |
95 | 95 | ||
96 | 96 | ||
97 | 97 | ||
98 | 98 | @Callable(i) | |
99 | 99 | func set_Admin () = [StringEntry("DApp_Admin_Rights", "3PDmkpofYmuQghyMeYfgDkucW2uTdh8rMNt")] | |
100 | 100 | ||
101 | 101 | ||
102 | 102 | @Verifier(tx) | |
103 | 103 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
104 | 104 |
github/deemru/w8io/873ac7e 56.66 ms ◑