tx · 6qVMFt674rXm1oi8H8n4sBf5dXAEZSTPyvvfaFXtbvQt

3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS:  -0.02300000 Waves

2023.10.11 21:37 [3860199] smart account 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS > SELF 0.00000000 Waves

{ "type": 13, "id": "6qVMFt674rXm1oi8H8n4sBf5dXAEZSTPyvvfaFXtbvQt", "fee": 2300000, "feeAssetId": null, "timestamp": 1697049467474, "version": 2, "chainId": 87, "sender": "3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS", "senderPublicKey": "6vs9orALhZsXKNcKtzPwfM18kgyVRj7qiXM4EdQSgAaZ", "proofs": [ "3pBY5Bnv42FXFEeqx7vbBRnbqdgbGif5PgoHy6Q6dnzMvsX5DVQmsGCXX1ADNiQZrVSSMkerxsAsQaRa6oC5x8pf" ], "script": "base64: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aXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAUeFBvb2xfU3dhcFhUTlRvV2F2ZXMAAAAABAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAAlVG9rZW4gaXMgcmVxdWlyZWQgYXMgQXR0YWNoZWQgcGF5bWVudAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAtBTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BQd0ZqMjViNXI4ZGlUeEFkQVJ3Vjh4RVBRaFRvRUNTTEMEAAAABmZhY3RvcgAAAAAAAAAACgQAAAAJa0JhbGFuY2VBAgAAAD1CYWxhbmNlX29mX0RHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwX1dBVkVTBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAA9QmFsYW5jZV9vZl9XQVZFU19ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAAA9uZXdiYWxhbmNlb2ZYVE4JAABrAAAAAwUAAAAPQl9hc3NldF9iYWxhbmNlBQAAAA9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAPQl9hc3NldF9iYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAASbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAD0FfYXNzZXRfYmFsYW5jZQUAAAAPbmV3YmFsYW5jZW9mWFROBAAAAANmZWUJAABrAAAAAwUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAAZmYWN0b3IAAAAAAAAAA+gEAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAAA2ZlZQQAAAAHcGF5bWVudAkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAA1hUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAACGludm9rZVROCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAABlTd2FwQXNzZXRUb1dBVkVTUGFpckVudHJ5CQAETAAAAAICAAAALERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwBQAAAANuaWwJAARMAAAAAgUAAAAHcGF5bWVudAUAAAADbmlsAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAABQgaGFzIHJpZ2h0cyB0byBTaWduLgMJAAAAAAAAAgUAAAAIaW52b2tlVE4FAAAACGludm9rZVROAwkAAAAAAAACBQAAAAhpbnZva2VUTgUAAAAIaW52b2tlVE4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAA01pbgUAAAAVYWN0dWFsQW1vdW50VG9SZWNlaXZlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIPimNBMlwlKjAw+egKnmxgiNONSVSck9rAJYIicvPaoLBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAABHVuaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAARVGhhbmt5b3UgdG8gU3dhcC4FAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADlN3YXBXYXZlc1RvWFROAAAAAAQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAJVRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAALQU1NX0FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQSGFOZ29tQmtydkVMMlFudUphclFWSmE3MXdqdzlxaXFHBAAAAAVXQVZFUwUAAAAEdW5pdAQAAAAGZmFjdG9yAAAAAAAAAAAHBAAAAAlrQmFsYW5jZUECAAAAD0FfYXNzZXRfYmFsYW5jZQQAAAAPQV9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VBBAAAAAlrQmFsYW5jZUICAAAAD0JfYXNzZXRfYmFsYW5jZQQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAABFuZXdiYWxhbmNlb2ZXYXZlcwkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABJtaW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQl9hc3NldF9iYWxhbmNlBQAAABFuZXdiYWxhbmNlb2ZXYXZlcwQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAAPoBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAVXQVZFUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAAC2ludm9rZVdhdmVzCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAAAhleGNoYW5nZQkABEwAAAACBQAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUFAAAAA25pbAkABEwAAAACBQAAAAdwYXltZW50BQAAAANuaWwDCQEAAAACIT0AAAACBQAAAAthZG1pbnJpZ2h0cwUAAAANY2FsbGVyYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiSSBrbm93IFlvdSBhcmUgbm90IEFuIEFkbWluLiBPbmx5IAUAAAALYWRtaW5yaWdodHMCAAAAFCBoYXMgcmlnaHRzIHRvIFNpZ24uAwkAAAAAAAACBQAAAAtpbnZva2VXYXZlcwUAAAALaW52b2tlV2F2ZXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQEAAAAg+KY0EyXCUqMDD56AqebGCI041JVJyT2sAlgiJy89qgsFAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQUAAAADWFROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAANNaW4FAAAAFWFjdHVhbEFtb3VudFRvUmVjZWl2ZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAABFUaGFua3lvdSB0byBTd2FwLgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABR4UG9vbF9Td2FwV2F2ZXNUb1hUTgAAAAAEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACVUb2tlbiBpcyByZXF1aXJlZCBhcyBBdHRhY2hlZCBwYXltZW50BAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUFB3RmoyNWI1cjhkaVR4QWRBUndWOHhFUFFoVG9FQ1NMQwQAAAAFV0FWRVMFAAAABHVuaXQEAAAABmZhY3RvcgAAAAAAAAAACgQAAAAJa0JhbGFuY2VBAgAAAD1CYWxhbmNlX29mX0RHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwX1dBVkVTBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAA9QmFsYW5jZV9vZl9XQVZFU19ERzJ4RmtQZER3S1VvQmt6R0FoUXRMcFNHemZYTGlDWVBFemVLSDJBZDI0cAQAAAAPQl9hc3NldF9iYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAtBTU1fQWRkcmVzcwUAAAAJa0JhbGFuY2VCBAAAABFuZXdiYWxhbmNlb2ZXYXZlcwkAAGsAAAADBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAD0FfYXNzZXRfYmFsYW5jZQkAAGQAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABJtaW5BbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAAPQl9hc3NldF9iYWxhbmNlBQAAABFuZXdiYWxhbmNlb2ZXYXZlcwQAAAADZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAGZmFjdG9yAAAAAAAAAAPoBAAAABVhY3R1YWxBbW91bnRUb1JlY2VpdmUJAABlAAAAAgUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAANmZWUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAVXQVZFUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAAC2ludm9rZVdhdmVzCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAABlTd2FwV0FWRVNUb0Fzc2V0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a0JMblRpS1ZZQ3VTY1NmS2VLZHZCYXkCAAAAF1N3YXBYVE5Ub0Fzc2V0UGFpckVudHJ5CQAETAAAAAICAAAALDZuU3BWeU5IN3lNNjllZzQ0NndyUVI5NGlwYmJjbVpNVTFFTlB3YW5DOTdnBQAAAANuaWwJAARMAAAAAgUAAAAMTlNCVF9wYXltZW50BQAAAANuaWwDCQAAAAAAAAIFAAAAAWIFAAAAAWIEAAAAAWMJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BMMVpwTUtDUkhTa0JMblRpS1ZZQ3VTY1NmS2VLZHZCYXkCAAAAF1N3YXBYVE5Ub0Fzc2V0UGFpckVudHJ5CQAETAAAAAICAAAALEF0cXY1OUVZempGR3VpdEtWbk1SazZIOEZ1a2pvVjNrdFBvcmJFeXMyNW9uBQAAAANuaWwJAARMAAAAAgUAAAAKV1hfcGF5bWVudAUAAAADbmlsAwkAAAAAAAACBQAAAAFjBQAAAAFjBAAAAAFkCQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNQUHdGajI1YjVyOGRpVHhBZEFSd1Y4eEVQUWhUb0VDU0xDAgAAABlTd2FwQXNzZXRUb1dBVkVTUGFpckVudHJ5CQAETAAAAAICAAAALERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwBQAAAANuaWwJAARMAAAAAgUAAAANV0FWRVNfcGF5bWVudAUAAAADbmlsAwkAAAAAAAACBQAAAAFkBQAAAAFkAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAABQgaGFzIHJpZ2h0cyB0byBTaWduLgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAABFUaGFua3lvdSB0byBTd2FwLgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAAPwAAAAAgUAAAAEdGhpcwUAAAAEV0VTVAUAAAAEV0VTVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAAPwAAAAAgUAAAAEdGhpcwUAAAAETlNCVAUAAAAETlNCVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAAPwAAAAAgUAAAAEdGhpcwUAAAACV1gFAAAAAldYBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnMJ6pM", "height": 3860199, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 12CRoNryzQbmmY89r4Cwbf6QjUDt1pZZ9E4jpvN8gnb2 Next: HnpY9o1TnpRXkQSQ1HwDg336BV4V1aSh6aQ8PiXrNkWE Diff:
OldNewDifferences
122122
123123
124124 @Callable(i)
125-func arb_get_waves () = {
125+func Swap_Waves_on_Swop_to_get_XTN_Sell_XTN_on_xPool_to_get_WAVES () = {
126126 let calleraddress = toBase58String(i.caller.bytes)
127127 let pmt = value(i.payments[0])
128128 let pmt1 = value(i.payments[1])
144144
145145
146146 @Callable(i)
147-func arb_nsbt_to_get_xtn_from_xpool () = {
147+func Swap_XTN_on_Swop_to_get_NSBT_Sell_NSBT_on_xPool_to_get_XTN () = {
148148 let calleraddress = toBase58String(i.caller.bytes)
149149 let pmt = value(i.payments[0])
150150 let pmt1 = value(i.payments[1])
166166
167167
168168 @Callable(i)
169-func arb_nsbt_from_xPool_to_get_NSBT_from_swop () = {
169+func Swap_NSBT_on_xPool_to_get_XTN_Sell_XTN_on_Swop_to_get_NSBT () = {
170170 let calleraddress = toBase58String(i.caller.bytes)
171171 let pmt = value(i.payments[0])
172172 let pmt1 = value(i.payments[1])
188188
189189
190190 @Callable(i)
191-func arb_nsbt_from_swop_to_get_NSBT_from_xPool () = {
191+func Swap_NSBT_on_Swop_to_get_XTN_Sell_XTN_on_xPool_to_get_NSBT () = {
192192 let calleraddress = toBase58String(i.caller.bytes)
193193 let pmt = value(i.payments[0])
194194 let pmt1 = value(i.payments[1])
210210
211211
212212 @Callable(i)
213-func arb_get_waves_from_xpool () = {
213+func Swap_Waves_on_xPool_to_get_XTN_Sell_XTN_on_Swop_to_get_WAVES () = {
214214 let calleraddress = toBase58String(i.caller.bytes)
215215 let pmt = value(i.payments[0])
216216 let pmt1 = value(i.payments[1])
232232
233233
234234 @Callable(i)
235-func arb_get_xtn () = {
235+func Swap_XTN_on_Swop_to_get_WAVES_Sell_WAVES_on_xPool_to_get_XTN () = {
236236 let calleraddress = toBase58String(i.caller.bytes)
237237 let pmt = value(i.payments[0])
238238 let pmt1 = value(i.payments[1])
254254
255255
256256 @Callable(i)
257-func arb_get_xtn_from_xpool () = {
257+func Swap_XTN_on_xPool_to_get_WAVES_Sell_WAVES_on_Swop_to_get_XTN () = {
258258 let calleraddress = toBase58String(i.caller.bytes)
259259 let pmt = value(i.payments[0])
260260 let pmt1 = value(i.payments[1])
268268 then if ((adminrights != calleraddress))
269269 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
270270 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), wavesBalance(this).regular, unit), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
271+ else throw("Strict value is not equal to itself.")
272+ }
273+ else throw("Strict value is not equal to itself.")
274+ }
275+
276+
277+
278+@Callable(i)
279+func Swap_XTN_on_xPool_to_get_NSBT_Sell_NSBT_on_Swop_to_get_XTN () = {
280+ let calleraddress = toBase58String(i.caller.bytes)
281+ let pmt = value(i.payments[0])
282+ let pmt1 = value(i.payments[1])
283+ let XTN_payment = pmt
284+ let NSBT_payment = pmt1
285+ let x = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [XTN_payment])
286+ if ((x == x))
287+ then {
288+ let y = invoke(addressFromStringValue("3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m"), "exchange", [1], [NSBT_payment])
289+ if ((y == y))
290+ then if ((adminrights != calleraddress))
291+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
292+ else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, NSBT), NSBT), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
271293 else throw("Strict value is not equal to itself.")
272294 }
273295 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 let NSBT = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
99
1010 @Callable(i)
1111 func SwapXTNToWaves () = {
1212 let pmt = if ((size(i.payments) == 1))
1313 then i.payments[0]
1414 else throw("Token is required as Attached payment")
1515 let calleraddress = toBase58String(i.caller.bytes)
1616 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
1717 let factor = 6
1818 let kBalanceA = "A_asset_balance"
1919 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
2020 let kBalanceB = "B_asset_balance"
2121 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
2222 let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
2323 let minAmountToReceive = (A_asset_balance - newbalanceofXTN)
2424 let fee = fraction(minAmountToReceive, factor, 1000)
2525 let actualAmountToReceive = ((minAmountToReceive - fee) - 2)
2626 let payment = AttachedPayment(XTN, pmt.amount)
2727 let invokeTN = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment])
2828 if ((adminrights != calleraddress))
2929 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
3030 else if ((invokeTN == invokeTN))
3131 then if ((invokeTN == invokeTN))
3232 then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, unit), StringEntry("message", "Thankyou to Swap.")]
3333 else throw("Strict value is not equal to itself.")
3434 else throw("Strict value is not equal to itself.")
3535 }
3636
3737
3838
3939 @Callable(i)
4040 func xPool_SwapXTNToWaves () = {
4141 let pmt = if ((size(i.payments) == 1))
4242 then i.payments[0]
4343 else throw("Token is required as Attached payment")
4444 let calleraddress = toBase58String(i.caller.bytes)
4545 let AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
4646 let factor = 10
4747 let kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES"
4848 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
4949 let kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
5050 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
5151 let newbalanceofXTN = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + pmt.amount))
5252 let minAmountToReceive = (A_asset_balance - newbalanceofXTN)
5353 let fee = fraction(minAmountToReceive, factor, 1000)
5454 let actualAmountToReceive = (minAmountToReceive - fee)
5555 let payment = AttachedPayment(XTN, pmt.amount)
5656 let invokeTN = invoke(AMM_Address, "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment])
5757 if ((adminrights != calleraddress))
5858 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
5959 else if ((invokeTN == invokeTN))
6060 then if ((invokeTN == invokeTN))
6161 then [IntegerEntry("Min", actualAmountToReceive), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, unit), StringEntry("message", "Thankyou to Swap.")]
6262 else throw("Strict value is not equal to itself.")
6363 else throw("Strict value is not equal to itself.")
6464 }
6565
6666
6767
6868 @Callable(i)
6969 func SwapWavesToXTN () = {
7070 let pmt = if ((size(i.payments) == 1))
7171 then i.payments[0]
7272 else throw("Token is required as Attached payment")
7373 let calleraddress = toBase58String(i.caller.bytes)
7474 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
7575 let WAVES = unit
7676 let factor = 7
7777 let kBalanceA = "A_asset_balance"
7878 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
7979 let kBalanceB = "B_asset_balance"
8080 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
8181 let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount))
8282 let minAmountToReceive = (B_asset_balance - newbalanceofWaves)
8383 let fee = fraction(minAmountToReceive, factor, 1000)
8484 let actualAmountToReceive = (minAmountToReceive - fee)
8585 let payment = AttachedPayment(WAVES, pmt.amount)
8686 let invokeWaves = invoke(AMM_Address, "exchange", [actualAmountToReceive], [payment])
8787 if ((adminrights != calleraddress))
8888 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
8989 else if ((invokeWaves == invokeWaves))
9090 then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")]
9191 else throw("Strict value is not equal to itself.")
9292 }
9393
9494
9595
9696 @Callable(i)
9797 func xPool_SwapWavesToXTN () = {
9898 let pmt = if ((size(i.payments) == 1))
9999 then i.payments[0]
100100 else throw("Token is required as Attached payment")
101101 let calleraddress = toBase58String(i.caller.bytes)
102102 let AMM_Address = addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC")
103103 let WAVES = unit
104104 let factor = 10
105105 let kBalanceA = "Balance_of_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_WAVES"
106106 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
107107 let kBalanceB = "Balance_of_WAVES_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
108108 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
109109 let newbalanceofWaves = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + pmt.amount))
110110 let minAmountToReceive = (B_asset_balance - newbalanceofWaves)
111111 let fee = fraction(minAmountToReceive, factor, 1000)
112112 let actualAmountToReceive = (minAmountToReceive - fee)
113113 let payment = AttachedPayment(WAVES, pmt.amount)
114114 let invokeWaves = invoke(AMM_Address, "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [payment])
115115 if ((adminrights != calleraddress))
116116 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
117117 else if ((invokeWaves == invokeWaves))
118118 then [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), actualAmountToReceive, XTN), IntegerEntry("Min", actualAmountToReceive), StringEntry("message", "Thankyou to Swap.")]
119119 else throw("Strict value is not equal to itself.")
120120 }
121121
122122
123123
124124 @Callable(i)
125-func arb_get_waves () = {
125+func Swap_Waves_on_Swop_to_get_XTN_Sell_XTN_on_xPool_to_get_WAVES () = {
126126 let calleraddress = toBase58String(i.caller.bytes)
127127 let pmt = value(i.payments[0])
128128 let pmt1 = value(i.payments[1])
129129 let WAVES_payment = pmt
130130 let XTN_payment = pmt1
131131 let x = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [WAVES_payment])
132132 if ((x == x))
133133 then {
134134 let y = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [XTN_payment])
135135 if ((y == y))
136136 then if ((adminrights != calleraddress))
137137 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
138138 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), wavesBalance(this).regular, unit), StringEntry("message", "Thankyou to Swap.")]
139139 else throw("Strict value is not equal to itself.")
140140 }
141141 else throw("Strict value is not equal to itself.")
142142 }
143143
144144
145145
146146 @Callable(i)
147-func arb_nsbt_to_get_xtn_from_xpool () = {
147+func Swap_XTN_on_Swop_to_get_NSBT_Sell_NSBT_on_xPool_to_get_XTN () = {
148148 let calleraddress = toBase58String(i.caller.bytes)
149149 let pmt = value(i.payments[0])
150150 let pmt1 = value(i.payments[1])
151151 let XTN_payment = pmt
152152 let NSBT_payment = pmt1
153153 let x = invoke(addressFromStringValue("3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m"), "exchange", [1], [XTN_payment])
154154 if ((x == x))
155155 then {
156156 let y = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapAssetToXTNPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [NSBT_payment])
157157 if ((y == y))
158158 then if ((adminrights != calleraddress))
159159 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
160160 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, NSBT), NSBT), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
161161 else throw("Strict value is not equal to itself.")
162162 }
163163 else throw("Strict value is not equal to itself.")
164164 }
165165
166166
167167
168168 @Callable(i)
169-func arb_nsbt_from_xPool_to_get_NSBT_from_swop () = {
169+func Swap_NSBT_on_xPool_to_get_XTN_Sell_XTN_on_Swop_to_get_NSBT () = {
170170 let calleraddress = toBase58String(i.caller.bytes)
171171 let pmt = value(i.payments[0])
172172 let pmt1 = value(i.payments[1])
173173 let NSBT_payment = pmt
174174 let XTN_payment = pmt1
175175 let x = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapAssetToXTNPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [NSBT_payment])
176176 if ((x == x))
177177 then {
178178 let y = invoke(addressFromStringValue("3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m"), "exchange", [1], [XTN_payment])
179179 if ((y == y))
180180 then if ((adminrights != calleraddress))
181181 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
182182 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, NSBT), NSBT), StringEntry("message", "Thankyou to Swap.")]
183183 else throw("Strict value is not equal to itself.")
184184 }
185185 else throw("Strict value is not equal to itself.")
186186 }
187187
188188
189189
190190 @Callable(i)
191-func arb_nsbt_from_swop_to_get_NSBT_from_xPool () = {
191+func Swap_NSBT_on_Swop_to_get_XTN_Sell_XTN_on_xPool_to_get_NSBT () = {
192192 let calleraddress = toBase58String(i.caller.bytes)
193193 let pmt = value(i.payments[0])
194194 let pmt1 = value(i.payments[1])
195195 let NSBT_payment = pmt
196196 let XTN_payment = pmt1
197197 let x = invoke(addressFromStringValue("3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m"), "exchange", [1], [NSBT_payment])
198198 if ((x == x))
199199 then {
200200 let y = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [XTN_payment])
201201 if ((y == y))
202202 then if ((adminrights != calleraddress))
203203 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
204204 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, NSBT), NSBT), StringEntry("message", "Thankyou to Swap.")]
205205 else throw("Strict value is not equal to itself.")
206206 }
207207 else throw("Strict value is not equal to itself.")
208208 }
209209
210210
211211
212212 @Callable(i)
213-func arb_get_waves_from_xpool () = {
213+func Swap_Waves_on_xPool_to_get_XTN_Sell_XTN_on_Swop_to_get_WAVES () = {
214214 let calleraddress = toBase58String(i.caller.bytes)
215215 let pmt = value(i.payments[0])
216216 let pmt1 = value(i.payments[1])
217217 let WAVES_payment = pmt
218218 let XTN_payment = pmt1
219219 let x = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [WAVES_payment])
220220 if ((x == x))
221221 then {
222222 let y = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [XTN_payment])
223223 if ((y == y))
224224 then if ((adminrights != calleraddress))
225225 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
226226 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), wavesBalance(this).regular, unit), StringEntry("message", "Thankyou to Swap.")]
227227 else throw("Strict value is not equal to itself.")
228228 }
229229 else throw("Strict value is not equal to itself.")
230230 }
231231
232232
233233
234234 @Callable(i)
235-func arb_get_xtn () = {
235+func Swap_XTN_on_Swop_to_get_WAVES_Sell_WAVES_on_xPool_to_get_XTN () = {
236236 let calleraddress = toBase58String(i.caller.bytes)
237237 let pmt = value(i.payments[0])
238238 let pmt1 = value(i.payments[1])
239239 let XTN_payment = pmt
240240 let WAVES_payment = pmt1
241241 let x = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [XTN_payment])
242242 if ((x == x))
243243 then {
244244 let y = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapWAVESToAssetPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [WAVES_payment])
245245 if ((y == y))
246246 then if ((adminrights != calleraddress))
247247 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
248248 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), wavesBalance(this).regular, unit), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
249249 else throw("Strict value is not equal to itself.")
250250 }
251251 else throw("Strict value is not equal to itself.")
252252 }
253253
254254
255255
256256 @Callable(i)
257-func arb_get_xtn_from_xpool () = {
257+func Swap_XTN_on_xPool_to_get_WAVES_Sell_WAVES_on_Swop_to_get_XTN () = {
258258 let calleraddress = toBase58String(i.caller.bytes)
259259 let pmt = value(i.payments[0])
260260 let pmt1 = value(i.payments[1])
261261 let XTN_payment = pmt
262262 let WAVES_payment = pmt1
263263 let x = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [XTN_payment])
264264 if ((x == x))
265265 then {
266266 let y = invoke(addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"), "exchange", [1], [WAVES_payment])
267267 if ((y == y))
268268 then if ((adminrights != calleraddress))
269269 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
270270 else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), wavesBalance(this).regular, unit), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
271+ else throw("Strict value is not equal to itself.")
272+ }
273+ else throw("Strict value is not equal to itself.")
274+ }
275+
276+
277+
278+@Callable(i)
279+func Swap_XTN_on_xPool_to_get_NSBT_Sell_NSBT_on_Swop_to_get_XTN () = {
280+ let calleraddress = toBase58String(i.caller.bytes)
281+ let pmt = value(i.payments[0])
282+ let pmt1 = value(i.payments[1])
283+ let XTN_payment = pmt
284+ let NSBT_payment = pmt1
285+ let x = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [XTN_payment])
286+ if ((x == x))
287+ then {
288+ let y = invoke(addressFromStringValue("3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m"), "exchange", [1], [NSBT_payment])
289+ if ((y == y))
290+ then if ((adminrights != calleraddress))
291+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
292+ else [ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, NSBT), NSBT), ScriptTransfer(addressFromPublicKey(base58'Hjd6p3ArqjnQAsejFwu7JcQciVVx9RaQhtMfGBCAi76z'), assetBalance(this, XTN), XTN), StringEntry("message", "Thankyou to Swap.")]
271293 else throw("Strict value is not equal to itself.")
272294 }
273295 else throw("Strict value is not equal to itself.")
274296 }
275297
276298
277299
278300 @Callable(i)
279301 func grab_multiple_assets_with_XTN () = {
280302 let calleraddress = toBase58String(i.caller.bytes)
281303 let pmt = value(i.payments[0])
282304 let pmt1 = value(i.payments[1])
283305 let pmt2 = value(i.payments[2])
284306 let pmt3 = value(i.payments[3])
285307 let WEST_payment = pmt
286308 let NSBT_payment = pmt1
287309 let WX_payment = pmt2
288310 let WAVES_payment = pmt3
289311 let WEST = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
290312 let WX = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
291313 let a = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8"], [WEST_payment])
292314 if ((a == a))
293315 then {
294316 let b = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g"], [NSBT_payment])
295317 if ((b == b))
296318 then {
297319 let c = invoke(addressFromStringValue("3PL1ZpMKCRHSkBLnTiKVYCuScSfKeKdvBay"), "SwapXTNToAssetPairEntry", ["Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on"], [WX_payment])
298320 if ((c == c))
299321 then {
300322 let d = invoke(addressFromStringValue("3PPwFj25b5r8diTxAdARwV8xEPQhToECSLC"), "SwapAssetToWAVESPairEntry", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"], [WAVES_payment])
301323 if ((d == d))
302324 then if ((adminrights != calleraddress))
303325 then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to Sign."))
304326 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)]
305327 else throw("Strict value is not equal to itself.")
306328 }
307329 else throw("Strict value is not equal to itself.")
308330 }
309331 else throw("Strict value is not equal to itself.")
310332 }
311333 else throw("Strict value is not equal to itself.")
312334 }
313335
314336
315337 @Verifier(tx)
316338 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
317339

github/deemru/w8io/3ef1775 
180.92 ms