tx · hd1S3YVNahwj6vcVG2LPWs3DW5PcWFYFftqg33eAY7E

3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS:  -0.01700000 Waves

2023.10.10 09:14 [3858036] smart account 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS > SELF 0.00000000 Waves

{ "type": 13, "id": "hd1S3YVNahwj6vcVG2LPWs3DW5PcWFYFftqg33eAY7E", "fee": 1700000, "feeAssetId": null, "timestamp": 1696918525662, "version": 2, "chainId": 87, "sender": "3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS", "senderPublicKey": "6vs9orALhZsXKNcKtzPwfM18kgyVRj7qiXM4EdQSgAaZ", "proofs": [ "3sNmz6PxmvfdeZWS8Pa6EgWJqAWMRrfHqxRSxFxoJvrdMCoKqmCaWzne3U9U6XzNCqzZ8oSCg6mxQJ21HL6J6YBh" ], "script": "base64:AAIFAAAAAAAAACcIAhIAEgASABIAEgQKAgEBEgQKAgEBEgQKAgEBEgQKAgEBEgMKAQEAAAACAAAAAAthZG1pbnJpZ2h0cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAARREFwcF9BZG1pbl9SaWdodHMAAAAAA1hUTgEAAAAgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEAAAAJAAAAAWkBAAAADlN3YXBYVE5Ub1dhdmVzAAAAAAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALQU1NX0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQSGFOZ29tQmtydkVMMlFudUphclFWSmE3MXdqdzlxaXFHBAAAAAZmYWN0b3IAAAAAAAAAAAYEAAAACWtCYWxhbmNlQQIAAAAPQV9hc3NldF9iYWxhbmNlBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAAPQl9hc3NldF9iYWxhbmNlBAAAAA9CX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUIEAAAAD25ld2JhbGFuY2VvZlhUTgkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9CX2Fzc2V0X2JhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABJtaW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlBQAAAA9uZXdiYWxhbmNlb2ZYVE4EAAAAA2ZlZQkAAGsAAAADBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAABmZhY3RvcgAAAAAAAAAD6AQAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUAAAAAAAAAAAIEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAANYVE4IBQAAAANwbXQAAAAGYW1vdW50BAAAAAhpbnZva2VUTgkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAAANuaWwJAARMAAAAAgUAAAAHcGF5bWVudAUAAAADbmlsAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAABQgaGFzIHJpZ2h0cyB0byBTaWduLgMJAAAAAAAAAgUAAAAIaW52b2tlVE4FAAAACGludm9rZVROAwkAAAAAAAACBQAAAAhpbnZva2VUTgUAAAAIaW52b2tlVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAA01pbgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIPimNBMlwlKjAw+egKnmxgiNONSVSck9rAJYIicvPaoLBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAARVGhhbmt5b3UgdG8gU3dhcC4FAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAFHhQb29sX1N3YXBYVE5Ub1dhdmVzAAAAAAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALQU1NX0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQUHdGajI1YjVyOGRpVHhBZEFSd1Y4eEVQUWhUb0VDU0xDBAAAAAZmYWN0b3IAAAAAAAAAAAoEAAAACWtCYWxhbmNlQQIAAAA9QmFsYW5jZV9vZl9ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cF9XQVZFUwQAAAAPQV9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VBBAAAAAlrQmFsYW5jZUICAAAAPUJhbGFuY2Vfb2ZfV0FWRVNfREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAEAAAAD0JfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQgQAAAAPbmV3YmFsYW5jZW9mWFROCQAAawAAAAMFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAAPQV9hc3NldF9iYWxhbmNlCQAAZAAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UFAAAAD25ld2JhbGFuY2VvZlhUTgQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAAPoBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAANYVE4IBQAAAANwbXQAAAAGYW1vdW50BAAAAAhpbnZva2VUTgkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAZU3dhcEFzc2V0VG9XQVZFU1BhaXJFbnRyeQkABEwAAAACAgAAACxERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAUAAAADbmlsCQAETAAAAAIFAAAAB3BheW1lbnQFAAAAA25pbAMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAUIGhhcyByaWdodHMgdG8gU2lnbi4DCQAAAAAAAAIFAAAACGludm9rZVROBQAAAAhpbnZva2VUTgMJAAAAAAAAAgUAAAAIaW52b2tlVE4FAAAACGludm9rZVROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAANNaW4FAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABAQAAACD4pjQTJcJSowMPnoCp5sYIjTjUlUnJPawCWCInLz2qCwUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAAAR1bml0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAB21lc3NhZ2UCAAAAEVRoYW5reW91IHRvIFN3YXAuBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA5Td2FwV2F2ZXNUb1hUTgAAAAAEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACVUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEhhTmdvbUJrcnZFTDJRbnVKYXJRVkphNzF3anc5cWlxRwQAAAAFV0FWRVMFAAAABHVuaXQEAAAABmZhY3RvcgAAAAAAAAAABwQAAAAJa0JhbGFuY2VBAgAAAA9BX2Fzc2V0X2JhbGFuY2UEAAAAD0FfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQQQAAAAJa0JhbGFuY2VCAgAAAA9CX2Fzc2V0X2JhbGFuY2UEAAAAD0JfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQgQAAAARbmV3YmFsYW5jZW9mV2F2ZXMJAABrAAAAAwUAAAAPQl9hc3NldF9iYWxhbmNlBQAAAA9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAASbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAARbmV3YmFsYW5jZW9mV2F2ZXMEAAAAA2ZlZQkAAGsAAAADBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAABmZhY3RvcgAAAAAAAAAD6AQAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAADZmVlBAAAAAdwYXltZW50CQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAFV0FWRVMIBQAAAANwbXQAAAAGYW1vdW50BAAAAAtpbnZva2VXYXZlcwkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlBQAAAANuaWwJAARMAAAAAgUAAAAHcGF5bWVudAUAAAADbmlsAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAABQgaGFzIHJpZ2h0cyB0byBTaWduLgMJAAAAAAAAAgUAAAALaW52b2tlV2F2ZXMFAAAAC2ludm9rZVdhdmVzCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIPimNBMlwlKjAw+egKnmxgiNONSVSck9rAJYIicvPaoLBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAAA1hUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAADTWluBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAARVGhhbmt5b3UgdG8gU3dhcC4FAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAUeFBvb2xfU3dhcFdhdmVzVG9YVE4AAAAABAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAAlVG9rZW4gaXMgcmVxdWlyZWQgYXMgQXR0YWNoZWQgcGF5bWVudAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAtBTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BQd0ZqMjViNXI4ZGlUeEFkQVJ3Vjh4RVBRaFRvRUNTTEMEAAAABVdBVkVTBQAAAAR1bml0BAAAAAZmYWN0b3IAAAAAAAAAAAoEAAAACWtCYWxhbmNlQQIAAAA9QmFsYW5jZV9vZl9ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cF9XQVZFUwQAAAAPQV9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VBBAAAAAlrQmFsYW5jZUICAAAAPUJhbGFuY2Vfb2ZfV0FWRVNfREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAEAAAAD0JfYXNzZXRfYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAALQU1NX0FkZHJlc3MFAAAACWtCYWxhbmNlQgQAAAARbmV3YmFsYW5jZW9mV2F2ZXMJAABrAAAAAwUAAAAPQl9hc3NldF9iYWxhbmNlBQAAAA9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAASbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAARbmV3YmFsYW5jZW9mV2F2ZXMEAAAAA2ZlZQkAAGsAAAADBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAABmZhY3RvcgAAAAAAAAAD6AQAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAADZmVlBAAAAAdwYXltZW50CQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAFV0FWRVMIBQAAAANwbXQAAAAGYW1vdW50BAAAAAtpbnZva2VXYXZlcwkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAZU3dhcFdBVkVTVG9Bc3NldFBhaXJFbnRyeQkABEwAAAACAgAAACxERzJ4RmtQZER3S1Vv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", "height": 3858036, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J8a9zdiugCyh9LNp4q8HnkX9xkzncysBJvp1SRjAR6PL Next: EFfxcjVVha5rt2nHNa84W1Zf3BCBcHHwG5ArvQjLdGLg Diff:
OldNewDifferences
203203 func grab_multiple_assets_with_XTN (Amount) = {
204204 let calleraddress = toBase58String(i.caller.bytes)
205205 let total_payment = AttachedPayment(XTN, Amount)
206- let WEST_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
207- let NSBT_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
208- let WX_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
206+ let WEST_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
207+ let NSBT_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
208+ let WX_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
209+ let XTN_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
209210 let WEST = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
210211 let NSBT = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
211212 let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
217218 then {
218219 let c = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on"], [WX_payment])
219220 if ((c == c))
220- then if ((adminrights != calleraddress))
221- then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
222- else [StringEntry("message", "Thankyou to Swap."), ScriptTransfer(i.caller, assetBalance(this, WEST), WEST), ScriptTransfer(i.caller, assetBalance(this, NSBT), NSBT), ScriptTransfer(i.caller, assetBalance(this, WX), WX)]
221+ then {
222+ let d = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [XTN_payment])
223+ if ((d == d))
224+ then if ((adminrights != calleraddress))
225+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
226+ else [StringEntry("message", "Thankyou to Swap."), ScriptTransfer(i.caller, assetBalance(this, WEST), WEST), ScriptTransfer(i.caller, assetBalance(this, NSBT), NSBT), ScriptTransfer(i.caller, assetBalance(this, WX), WX)]
227+ else throw("Strict value is not equal to itself.")
228+ }
223229 else throw("Strict value is not equal to itself.")
224230 }
225231 else throw("Strict value is not equal to itself.")
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 @Callable(i)
99 func SwapXTNToWaves () = {
1010 let pmt = if ((size(i.payments) == 1))
1111 then i.payments[0]
1212 else throw("Token is required as Attached payment")
1313 let calleraddress = toBase58String(i.caller.bytes)
1414 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
1515 let factor = 6
1616 let kBalanceA = "A_asset_balance"
1717 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
1818 let kBalanceB = "B_asset_balance"
1919 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
2020 let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
2121 let minAmountToReceive = (A_asset_balance - newbalanceofXTN)
2222 let fee = fraction(minAmountToReceive, factor, 1000)
2323 let actualAmountToReceive = ((minAmountToReceive - fee) - 2)
2424 let payment = AttachedPayment(XTN, pmt.amount)
2525 let invokeTN = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment])
2626 if ((adminrights != calleraddress))
2727 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
2828 else if ((invokeTN == invokeTN))
2929 then if ((invokeTN == invokeTN))
3030 then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, unit), StringEntry("message", "Thankyou to Swap.")]
3131 else throw("Strict value is not equal to itself.")
3232 else throw("Strict value is not equal to itself.")
3333 }
3434
3535
3636
3737 @Callable(i)
3838 func xPool_SwapXTNToWaves () = {
3939 let pmt = if ((size(i.payments) == 1))
4040 then i.payments[0]
4141 else throw("Token is required as Attached payment")
4242 let calleraddress = toBase58String(i.caller.bytes)
4343 let AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
4444 let factor = 10
4545 let kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES"
4646 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
4747 let kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
4848 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
4949 let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
5050 let minAmountToReceive = (A_asset_balance - newbalanceofXTN)
5151 let fee = fraction(minAmountToReceive, factor, 1000)
5252 let actualAmountToReceive = (minAmountToReceive - fee)
5353 let payment = AttachedPayment(XTN, pmt.amount)
5454 let invokeTN = invoke(AMM_Address, "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment])
5555 if ((adminrights != calleraddress))
5656 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
5757 else if ((invokeTN == invokeTN))
5858 then if ((invokeTN == invokeTN))
5959 then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, unit), StringEntry("message", "Thankyou to Swap.")]
6060 else throw("Strict value is not equal to itself.")
6161 else throw("Strict value is not equal to itself.")
6262 }
6363
6464
6565
6666 @Callable(i)
6767 func SwapWavesToXTN () = {
6868 let pmt = if ((size(i.payments) == 1))
6969 then i.payments[0]
7070 else throw("Token is required as Attached payment")
7171 let calleraddress = toBase58String(i.caller.bytes)
7272 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
7373 let WAVES = unit
7474 let factor = 7
7575 let kBalanceA = "A_asset_balance"
7676 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
7777 let kBalanceB = "B_asset_balance"
7878 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
7979 let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount))
8080 let minAmountToReceive = (B_asset_balance - newbalanceofWaves)
8181 let fee = fraction(minAmountToReceive, factor, 1000)
8282 let actualAmountToReceive = (minAmountToReceive - fee)
8383 let payment = AttachedPayment(WAVES, pmt.amount)
8484 let invokeWaves = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment])
8585 if ((adminrights != calleraddress))
8686 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
8787 else if ((invokeWaves == invokeWaves))
8888 then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")]
8989 else throw("Strict value is not equal to itself.")
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func xPool_SwapWavesToXTN () = {
9696 let pmt = if ((size(i.payments) == 1))
9797 then i.payments[0]
9898 else throw("Token is required as Attached payment")
9999 let calleraddress = toBase58String(i.caller.bytes)
100100 let AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
101101 let WAVES = unit
102102 let factor = 10
103103 let kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES"
104104 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
105105 let kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
106106 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
107107 let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount))
108108 let minAmountToReceive = (B_asset_balance - newbalanceofWaves)
109109 let fee = fraction(minAmountToReceive, factor, 1000)
110110 let actualAmountToReceive = (minAmountToReceive - fee)
111111 let payment = AttachedPayment(WAVES, pmt.amount)
112112 let invokeWaves = invoke(AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment])
113113 if ((adminrights != calleraddress))
114114 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
115115 else if ((invokeWaves == invokeWaves))
116116 then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")]
117117 else throw("Strict value is not equal to itself.")
118118 }
119119
120120
121121
122122 @Callable(i)
123123 func arb_get_waves (amount1,amount2) = {
124124 let calleraddress = toBase58String(i.caller.bytes)
125125 let payment1_amount = AttachedPayment(unit, amount1)
126126 let payment2_amount = AttachedPayment(XTN, amount2)
127127 let x = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [payment1_amount])
128128 if ((x == x))
129129 then {
130130 let y = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment2_amount])
131131 if ((y == y))
132132 then if ((adminrights != calleraddress))
133133 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
134134 else [StringEntry("message", "Thankyou to Swap.")]
135135 else throw("Strict value is not equal to itself.")
136136 }
137137 else throw("Strict value is not equal to itself.")
138138 }
139139
140140
141141
142142 @Callable(i)
143143 func arb_get_waves_from_xpool (amount1,amount2) = {
144144 let calleraddress = toBase58String(i.caller.bytes)
145145 let payment1_amount = AttachedPayment(unit, amount1)
146146 let payment2_amount = AttachedPayment(XTN, amount2)
147147 let x = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1_amount])
148148 if ((x == x))
149149 then {
150150 let y = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [payment2_amount])
151151 if ((y == y))
152152 then if ((adminrights != calleraddress))
153153 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
154154 else [StringEntry("message", "Thankyou to Swap.")]
155155 else throw("Strict value is not equal to itself.")
156156 }
157157 else throw("Strict value is not equal to itself.")
158158 }
159159
160160
161161
162162 @Callable(i)
163163 func arb_get_xtn (amount1,amount2) = {
164164 let calleraddress = toBase58String(i.caller.bytes)
165165 let payment1_amount = AttachedPayment(XTN, amount1)
166166 let payment2_amount = AttachedPayment(unit, amount2)
167167 let x = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [payment1_amount])
168168 if ((x == x))
169169 then {
170170 let y = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment2_amount])
171171 if ((y == y))
172172 then if ((adminrights != calleraddress))
173173 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
174174 else [StringEntry("message", "Thankyou to Swap.")]
175175 else throw("Strict value is not equal to itself.")
176176 }
177177 else throw("Strict value is not equal to itself.")
178178 }
179179
180180
181181
182182 @Callable(i)
183183 func arb_get_xtn_from_xpool (amount1,amount2) = {
184184 let calleraddress = toBase58String(i.caller.bytes)
185185 let payment1_amount = AttachedPayment(XTN, amount1)
186186 let payment2_amount = AttachedPayment(unit, amount2)
187187 let x = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment1_amount])
188188 if ((x == x))
189189 then {
190190 let y = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [payment2_amount])
191191 if ((y == y))
192192 then if ((adminrights != calleraddress))
193193 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
194194 else [StringEntry("message", "Thankyou to Swap.")]
195195 else throw("Strict value is not equal to itself.")
196196 }
197197 else throw("Strict value is not equal to itself.")
198198 }
199199
200200
201201
202202 @Callable(i)
203203 func grab_multiple_assets_with_XTN (Amount) = {
204204 let calleraddress = toBase58String(i.caller.bytes)
205205 let total_payment = AttachedPayment(XTN, Amount)
206- let WEST_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
207- let NSBT_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
208- let WX_payment = AttachedPayment(XTN, fraction(Amount, 1, 3))
206+ let WEST_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
207+ let NSBT_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
208+ let WX_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
209+ let XTN_payment = AttachedPayment(XTN, fraction(Amount, 1, 4))
209210 let WEST = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
210211 let NSBT = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
211212 let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
212213 let a = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8"], [WEST_payment])
213214 if ((a == a))
214215 then {
215216 let b = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [NSBT_payment])
216217 if ((b == b))
217218 then {
218219 let c = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on"], [WX_payment])
219220 if ((c == c))
220- then if ((adminrights != calleraddress))
221- then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
222- else [StringEntry("message", "Thankyou to Swap."), ScriptTransfer(i.caller, assetBalance(this, WEST), WEST), ScriptTransfer(i.caller, assetBalance(this, NSBT), NSBT), ScriptTransfer(i.caller, assetBalance(this, WX), WX)]
221+ then {
222+ let d = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [XTN_payment])
223+ if ((d == d))
224+ then if ((adminrights != calleraddress))
225+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
226+ else [StringEntry("message", "Thankyou to Swap."), ScriptTransfer(i.caller, assetBalance(this, WEST), WEST), ScriptTransfer(i.caller, assetBalance(this, NSBT), NSBT), ScriptTransfer(i.caller, assetBalance(this, WX), WX)]
227+ else throw("Strict value is not equal to itself.")
228+ }
223229 else throw("Strict value is not equal to itself.")
224230 }
225231 else throw("Strict value is not equal to itself.")
226232 }
227233 else throw("Strict value is not equal to itself.")
228234 }
229235
230236
231237 @Verifier(tx)
232238 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
233239

github/deemru/w8io/3ef1775 
60.81 ms