tx · CJCqCTd17zHz6pebbneBBfgFTFQ6Xtei5M3Q16bSRpYg

3PAv42skNMWedMSNx75fMDuMcFzggaELYqK:  -0.01500000 Waves

2023.04.06 15:53 [3588359] smart account 3PAv42skNMWedMSNx75fMDuMcFzggaELYqK > SELF 0.00000000 Waves

{ "type": 13, "id": "CJCqCTd17zHz6pebbneBBfgFTFQ6Xtei5M3Q16bSRpYg", "fee": 1500000, "feeAssetId": null, "timestamp": 1680785684360, "version": 2, "chainId": 87, "sender": "3PAv42skNMWedMSNx75fMDuMcFzggaELYqK", "senderPublicKey": "2S8hdm8hsS8LEgawkBAPztpWr6tkd4qFjb3TPzqmm7D1", "proofs": [ "4XuAKBD1qSoaQaSTd1DdyQLGP2Ht4rJpQ3kMCXvaJ2c7zXaAHqGLhPKEptDvEkLBAsj5VbnkTy6DG7vXNgAjwEMx" ], "script": "base64:AAIFAAAAAAAAAAoIAhIAEgASABIAAAAABQAAAAAQbmV1dHJpbm9Db250cmFjdAEAAAAaAVdwBGKmR5vprVZolMvvhYwwgiAomggUlrIAAAAAFm5ldXRyaW5vU3Rha2luZ0FkZHJlc3MBAAAAGgFXa2g44QPUmoyfEhvGLLwjBzkLze0S1wpfAAAAAAp4dG5Bc3NldElkAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QAAAAALc3VyZkFzc2V0SWQBAAAAIJLR9EriEQEr9H7q3iGOPcX7yfJ9zoey7VIZ8DpOJFj1AAAAAAl3eEFzc2V0SWQBAAAAIJMBHKupx24lV85mnnG2vapr+DzoWAsq7tmgTrs83BSxAAAABAAAAAFpAQAAAA9zdGFrZVRvTmV1dHJpbm8AAAAABAAAAAZyZXN1bHQJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABZuZXV0cmlub1N0YWtpbmdBZGRyZXNzAgAAAAVzdGFrZQUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAtzdXJmQXNzZXRJZAAAAAAA7msoAAUAAAADbmlsAwkAAAAAAAACBQAAAAZyZXN1bHQFAAAABnJlc3VsdAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABNzd2FwWFRORnJvbU5ldXRyaW5vAAAAAAQAAAAGcmVzdWx0CQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAQbmV1dHJpbm9Db250cmFjdAIAAAAbc3dhcFBhcmFtc0J5VXNlclNZU1JFQURPTkxZCQAETAAAAAIJAAQlAAAAAQUAAAAEdGhpcwkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAGcmVzdWx0BQAAAAZyZXN1bHQEAAAAByRtYXRjaDAFAAAABnJlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAjKEludCwgSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEludCkEAAAABXR1cGxlBQAAAAckbWF0Y2gwAwkAAGYAAAACCAUAAAAFdHVwbGUAAAACXzMAAAAAAAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJ1RpbWUgaXMgbm90IGNvbWUgeWV0LCB5b3UgbmVlZCB0byB3YWl0IAkAAaQAAAABCAUAAAAFdHVwbGUAAAACXzMCAAAAByBibG9ja3MEAAAADW1heFN3YXBBbW91bnQIBQAAAAV0dXBsZQAAAAJfNwMJAABmAAAAAgAAAAAAAA9CQAUAAAANbWF4U3dhcEFtb3VudAkAAAIAAAABAgAAABtNaW4gWFROIGFtb3VudCB0byBzd2FwIGlzIDEEAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UJAAPvAAAAAQUAAAAEdGhpcwMJAAAAAAAAAgUAAAATY3VycmVudFdhdmVzQmFsYW5jZQUAAAATY3VycmVudFdhdmVzQmFsYW5jZQQAAAAQY3VycmVudFdYQmFsYW5jZQkAA/AAAAACBQAAAAR0aGlzBQAAAAl3eEFzc2V0SWQDCQAAAAAAAAIFAAAAEGN1cnJlbnRXWEJhbGFuY2UFAAAAEGN1cnJlbnRXWEJhbGFuY2UEAAAAFHN3YXBOZXV0cmlub1RvQXNzZXRzCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAQbmV1dHJpbm9Db250cmFjdAIAAAAUc3dhcE5ldXRyaW5vVG9CYXNrZXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKeHRuQXNzZXRJZAUAAAANbWF4U3dhcEFtb3VudAUAAAADbmlsAwkAAAAAAAACBQAAABRzd2FwTmV1dHJpbm9Ub0Fzc2V0cwUAAAAUc3dhcE5ldXRyaW5vVG9Bc3NldHMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAD3h0blN3YXBlZEFtb3VudAUAAAANbWF4U3dhcEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASd2F2ZXNCYWxhbmNlQXRTd2FwCAUAAAATY3VycmVudFdhdmVzQmFsYW5jZQAAAAlhdmFpbGFibGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAD3d4QmFsYW5jZUF0U3dhcAUAAAAQY3VycmVudFdYQmFsYW5jZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAReHRuU3dhcEluUHJvZ3Jlc3MGBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAArSW5jb3JyZWN0IGRhdGEgZnJvbSBuZXV0cmlubyBzbWFydCBjb250cmFjdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAnZXhjaGFuZ2VYdG5SZXdhcmRzQW5kQ2FsY3VsYXRlWHRuUHJvZml0AAAAAAMJAQAAAAEhAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTYpAAAAAQIAAAAReHRuU3dhcEluUHJvZ3Jlc3MJAAACAAAAAQIAAAA1TWFpbiBYVE4gU3dhcCBpc24ndCBydW5uaW5nLCB5b3UgbmVlZCB0byBydW4gaXQgZmlyc3QEAAAABHR4SWQBAAAAGgFXYpB7jo1asvp2L5zibyxJPNbPb/eWSIT2BAAAAAx3aXRoZHJhd19yZXMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAAAh3aXRoZHJhdwkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMJAARMAAAAAgAAAAAAABgbRQkABEwAAAACAgAAACxHdWVkSGZNUjFad1UzaEthV3RaWnQ3SE5BWkdVaDhBdlVrNXJ6NGZUcFp1UAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADHdpdGhkcmF3X3JlcwUAAAAMd2l0aGRyYXdfcmVzBAAAABZ3YXZlc0JhbGFuY2VCZWZvcmVTd2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABAgAAABJ3YXZlc0JhbGFuY2VBdFN3YXAEAAAAE3d4QmFsYW5jZUJlZm9yZVN3YXAJAQAAABFAZXh0ck5hdGl2ZSgxMDU1KQAAAAECAAAAD3d4QmFsYW5jZUF0U3dhcAQAAAATY3VycmVudFdhdmVzQmFsYW5jZQkAA+8AAAABBQAAAAR0aGlzAwkAAAAAAAACBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBAAAABBjdXJyZW50V1hCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAACXd4QXNzZXRJZAMJAAAAAAAAAgUAAAAQY3VycmVudFdYQmFsYW5jZQUAAAAQY3VycmVudFdYQmFsYW5jZQQAAAARY3VycmVudFhUTkJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAKeHRuQXNzZXRJZAMJAAAAAAAAAgUAAAARY3VycmVudFhUTkJhbGFuY2UFAAAAEWN1cnJlbnRYVE5CYWxhbmNlBAAAABFyZXdhcmRBbW91bnRXYXZlcwkAAGUAAAACCAUAAAATY3VycmVudFdhdmVzQmFsYW5jZQAAAAlhdmFpbGFibGUFAAAAFndhdmVzQmFsYW5jZUJlZm9yZVN3YXAEAAAADnJld2FyZEFtb3VudFdYCQAAZQAAAAIFAAAAEGN1cnJlbnRXWEJhbGFuY2UFAAAAE3d4QmFsYW5jZUJlZm9yZVN3YXADCQAAZwAAAAIAAAAAAAAAAAAFAAAAEXJld2FyZEFtb3VudFdhdmVzCQAAAgAAAAECAAAAG1dhdmVzIHJld2FyZCBhbW91bnQgaXMgemVybwMJAABnAAAAAgAAAAAAAAAAAAUAAAAOcmV3YXJkQW1vdW50V1gJAAACAAAAAQIAAAAYV1ggcmV3YXJkIGFtb3VudCBpcyB6ZXJvBAAAAAl3YXZlc1N3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAEdW5pdAUAAAARcmV3YXJkQW1vdW50V2F2ZXMFAAAAA25pbAMJAAAAAAAAAgUAAAAJd2F2ZXNTd2FwBQAAAAl3YXZlc1N3YXAEAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlCQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAAAAAAAIFAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlBQAAACNjdXJyZW50WFROQmFsYW5jZUFmdGVyV2F2ZXNFeGNoYW5nZQQAAAALd2F2ZXNSZXdhcmQJAABlAAAAAgUAAAAjY3VycmVudFhUTkJhbGFuY2VBZnRlcldhdmVzRXhjaGFuZ2UFAAAAEWN1cnJlbnRYVE5CYWxhbmNlBAAAAAZ3eFN3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAJd3hBc3NldElkBQAAAA5yZXdhcmRBbW91bnRXWAUAAAADbmlsAwkAAAAAAAACBQAAAAZ3eFN3YXAFAAAABnd4U3dhcAQAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAKeHRuQXNzZXRJZAMJAAAAAAAAAgUAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UFAAAAIGN1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXWEV4Y2hhbmdlBAAAAAh3eFJld2FyZAkAAGUAAAACBQAAACBjdXJyZW50WFROQmFsYW5jZUFmdGVyV1hFeGNoYW5nZQUAAAAjY3VycmVudFhUTkJhbGFuY2VBZnRlcldhdmVzRXhjaGFuZ2UEAAAADnRvdGFsWFROUmV3YXJkCQAAZAAAAAIFAAAAC3dhdmVzUmV3YXJkBQAAAAh3eFJld2FyZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAfRVhDSEFOR0VfV0FWRVNfQkFMQU5DRV9BVF9TVEFSVAgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABxFWENIQU5HRV9XWF9CQUxBTkNFX0FUX1NUQVJUBQAAABBjdXJyZW50V1hCYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB1FWENIQU5HRV9YVE5fQkFMQU5DRV9BVF9TVEFSVAUAAAARY3VycmVudFhUTkJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAKEVYQ0hBTkdFX0VBUk5FRF9XQVZFU19GUk9NX01BSU5fWFROX1NXQVAFAAAAEXJld2FyZEFtb3VudFdhdmVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACVFWENIQU5HRV9FQVJORURfV1hfRlJPTV9NQUlOX1hUTl9TV0FQBQAAAA5yZXdhcmRBbW91bnRXWAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAApRVhDSEFOR0VfWFROX0JBTEFOQ0VfQUZURVJfV0FWRVNfRVhDSEFOR0UFAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACpFWENIQU5HRV9YVE5fRUFSTklOR1NfQUZURVJfV0FWRVNfRVhDSEFOR0UFAAAAC3dhdmVzUmV3YXJkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACZFWENIQU5HRV9YVE5fQkFMQU5DRV9BRlRFUl9XWF9FWENIQU5HRQUAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAJ0VYQ0hBTkdFX1hUTl9FQVJOSU5HU19BRlRFUl9XWF9FWENIQU5HRQUAAAAId3hSZXdhcmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAKUVYQ0hBTkdFX1hUTl9UT1RBTF9FUk5JTkdTX0FGVEVSX0VYQ0hBTkdFBQAAAA50b3RhbFhUTlJld2FyZAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAReHRuU3dhcEluUHJvZ3Jlc3MHBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAhtYWluU3dhcAAAAAAEAAAABnJlc3VsdAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABnJlc3VsdAUAAAAGcmVzdWx0BAAAAAckbWF0Y2gwBQAAAAZyZXN1bHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAIyhJbnQsIEludCwgSW50LCBJbnQsIEludCwgSW50LCBJbnQpBAAAAAV0dXBsZQUAAAAHJG1hdGNoMAMJAABmAAAAAggFAAAABXR1cGxlAAAAAl8zAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACdUaW1lIGlzIG5vdCBjb21lIHlldCwgeW91IG5lZWQgdG8gd2FpdCAJAAGkAAAAAQgFAAAABXR1cGxlAAAAAl8zAgAAAAcgYmxvY2tzBAAAAA1tYXhTd2FwQW1vdW50CAUAAAAFdHVwbGUAAAACXzcDCQAAZwAAAAIAAAAAAAAAAAAFAAAADW1heFN3YXBBbW91bnQJAAACAAAAAQIAAAAhTm90aGluZyB0byBzd2FwLCBzdGFrZSBTVVJGIGZpcnN0BAAAABBjdXJyZW50WFROQW1vdW50CQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAZgAAAAIFAAAADW1heFN3YXBBbW91bnQFAAAAEGN1cnJlbnRYVE5BbW91bnQJAAACAAAAAQIAAAA2WFROIGJhbGFuY2Ugb24gYWNjb3VudCBpcyBzbWFsbGVyIHRoYXQgeW91ciBtYXggYW1vdW50BAAAABNjdXJyZW50V2F2ZXNCYWxhbmNlCQAD7wAAAAEFAAAABHRoaXMDCQAAAAAAAAIFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UEAAAAEGN1cnJlbnRXWEJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAJd3hBc3NldElkAwkAAAAAAAACBQAAABBjdXJyZW50V1hCYWxhbmNlBQAAABBjdXJyZW50V1hCYWxhbmNlBAAAABRzd2FwTmV1dHJpbm9Ub0Fzc2V0cwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAFHN3YXBOZXV0cmlub1RvQmFza2V0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACnh0bkFzc2V0SWQFAAAADW1heFN3YXBBbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAUc3dhcE5ldXRyaW5vVG9Bc3NldHMFAAAAFHN3YXBOZXV0cmlub1RvQXNzZXRzBAAAAA9uZXdXYXZlc0JhbGFuY2UJAAPvAAAAAQUAAAAEdGhpcwQAAAAMbmV3V1hCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAACXd4QXNzZXRJZAQAAAANd2F2ZXNFYXJuaW5ncwkAAGUAAAACCAUAAAAPbmV3V2F2ZXNCYWxhbmNlAAAACWF2YWlsYWJsZQgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlBAAAAAp3eEVhcm5pbmdzCQAAZQAAAAIFAAAADG5ld1dYQmFsYW5jZQUAAAAQY3VycmVudFdYQmFsYW5jZQQAAAAJd2F2ZXNTd2FwCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVfKa/yf18u6NT07ZpoejrCKUqc0oppDlIICAAAAFGV4Y2hhbmdlVGhlblRyYW5zZmVyCQAETAAAAAICAAAALERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwCQAETAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAEdW5pdAUAAAANd2F2ZXNFYXJuaW5ncwUAAAADbmlsAwkAAAAAAAACBQAAAAl3YXZlc1N3YXAFAAAACXdhdmVzU3dhcAQAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwCQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAAAAAAAIFAAAAGHh0bkJhbGFuY2VBZnRlcldhdmVzU3dhcAUAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwBAAAABd4dG5FYXJpbmdzRnJvbVdhdmVzU3dhcAkAAGUAAAACBQAAABh4dG5CYWxhbmNlQWZ0ZXJXYXZlc1N3YXAJAABlAAAAAgUAAAAQY3VycmVudFhUTkFtb3VudAUAAAANbWF4U3dhcEFtb3VudAMJAAAAAAAAAgUAAAAXeHRuRWFyaW5nc0Zyb21XYXZlc1N3YXAFAAAAF3h0bkVhcmluZ3NGcm9tV2F2ZXNTd2FwBAAAAAZ3eFN3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAl3eEFzc2V0SWQFAAAACnd4RWFybmluZ3MFAAAAA25pbAMJAAAAAAAAAgUAAAAGd3hTd2FwBQAAAAZ3eFN3YXAEAAAAFXh0bkJhbGFuY2VBZnRlcld4U3dhcAkAA/AAAAACBQAAAAR0aGlzBQAAAAp4dG5Bc3NldElkAwkAAAAAAAACBQAAABV4dG5CYWxhbmNlQWZ0ZXJXeFN3YXAFAAAAFXh0bkJhbGFuY2VBZnRlcld4U3dhcAQAAAAUeHRuRWFyaW5nc0Zyb21XeFN3YXAJAABlAAAAAgUAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwCQAAZQAAAAIFAAAAEGN1cnJlbnRYVE5BbW91bnQFAAAADW1heFN3YXBBbW91bnQDCQAAAAAAAAIFAAAAFHh0bkVhcmluZ3NGcm9tV3hTd2FwBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAQAAAAPeHRuVG90YWxFYXJuaW5zCQAAZAAAAAIFAAAAF3h0bkVhcmluZ3NGcm9tV2F2ZXNTd2FwBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWTWF4X1hUTl9BbW91bnRfVG9fU3dhcAUAAAANbWF4U3dhcEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbWFROX0Ftb3VudF9CZWZvcmVfTWFpbl9Td2FwBQAAABBjdXJyZW50WFROQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB1XYXZlc19BbW91bnRfQmVmb3JlX01haW5fU3dhcAgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpXWF9BbW91bnRfQmVmb3JlX01haW5fU3dhcAUAAAAQY3VycmVudFdYQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAcV2F2ZXNfQW1vdW50X0FGVEVSX01haW5fU3dhcAgFAAAAD25ld1dhdmVzQmFsYW5jZQAAAAlhdmFpbGFibGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGVdYX0Ftb3VudF9BRlRFUl9NYWluX1N3YXAFAAAADG5ld1dYQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXV2F2ZXNfRWFybmluZ3NfRm9yX1N3YXAFAAAADXdhdmVzRWFybmluZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFdYX0Vhcm5pbmdzX0Zvcl9Td2FwBQAAAAp3eEVhcm5pbmdzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACRYVE5fQmFsYW5jZV9BRlRFUl9XQVZFU19EZXhfRXhjaGFuZ2UFAAAAGHh0bkJhbGFuY2VBZnRlcldhdmVzU3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAlWFROX0Vhcm5pbmdzX0FGVEVSX1dBVkVTX0RleF9FeGNoYW5nZQUAAAAXeHRuRWFyaW5nc0Zyb21XYXZlc1N3YXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAIVhUTl9CYWxhbmNlX0FGVEVSX1dYX0RleF9FeGNoYW5nZQUAAAAVeHRuQmFsYW5jZUFmdGVyV3hTd2FwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACJYVE5fRWFybmluZ3NfQUZURVJfV1hfRGV4X0V4Y2hhbmdlBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASWFROX1RvdGFsX0Vhcm5pbmdzBQAAAA94dG5Ub3RhbEVhcm5pbnMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAABJDYW4ndCBkZWNvZGUgdHVwbGUJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkyfUM6", "height": 3588359, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4Ghr5bgWwiKRhzS6B1b9nxDm3hXqMguWf7oRUb6DjWwt Next: 9WWdFLXtwTJVtFqCqNC7ex8Yqg5AujUDXxGwGsKgnbAp Diff:
OldNewDifferences
6363 then throw("Main XTN Swap isn't running, you need to run it first")
6464 else {
6565 let txId = base58'3PAv42skNMWedMSNx75fMDuMcFzggaELYqK'
66- let withdraw_res = invoke(Address(neutrinoContract), "withdraw", [toString(this), 1579844, "GuedHfMR1ZwU3hKaWtZZt7HNAZGUh8AvUk5rz4fTpZuP"], nil)
66+ let withdraw_res = invoke(Address(neutrinoContract), "withdraw", [toString(this), 1579845, "GuedHfMR1ZwU3hKaWtZZt7HNAZGUh8AvUk5rz4fTpZuP"], nil)
6767 if ((withdraw_res == withdraw_res))
6868 then {
6969 let wavesBalanceBeforeSwap = getIntegerValue("wavesBalanceAtSwap")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let neutrinoContract = base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo'
55
66 let neutrinoStakingAddress = base58'3PBiotFpqjRMkkeFBccnQNUXUopy7KFez5C'
77
88 let xtnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
99
1010 let surfAssetId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
1111
1212 let wxAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
1313
1414 @Callable(i)
1515 func stakeToNeutrino () = {
1616 let result = invoke(Address(neutrinoStakingAddress), "stake", nil, [AttachedPayment(surfAssetId, 4000000000)])
1717 if ((result == result))
1818 then nil
1919 else throw("Strict value is not equal to itself.")
2020 }
2121
2222
2323
2424 @Callable(i)
2525 func swapXTNFromNeutrino () = {
2626 let result = invoke(Address(neutrinoContract), "swapParamsByUserSYSREADONLY", [toString(this), 0], nil)
2727 if ((result == result))
2828 then match result {
2929 case tuple: (Int, Int, Int, Int, Int, Int, Int) =>
3030 if ((tuple._3 > 0))
3131 then throw((("Time is not come yet, you need to wait " + toString(tuple._3)) + " blocks"))
3232 else {
3333 let maxSwapAmount = tuple._7
3434 if ((1000000 > maxSwapAmount))
3535 then throw("Min XTN amount to swap is 1")
3636 else {
3737 let currentWavesBalance = wavesBalance(this)
3838 if ((currentWavesBalance == currentWavesBalance))
3939 then {
4040 let currentWXBalance = assetBalance(this, wxAssetId)
4141 if ((currentWXBalance == currentWXBalance))
4242 then {
4343 let swapNeutrinoToAssets = invoke(Address(neutrinoContract), "swapNeutrinoToBasket", nil, [AttachedPayment(xtnAssetId, maxSwapAmount)])
4444 if ((swapNeutrinoToAssets == swapNeutrinoToAssets))
4545 then [IntegerEntry("xtnSwapedAmount", maxSwapAmount), IntegerEntry("wavesBalanceAtSwap", currentWavesBalance.available), IntegerEntry("wxBalanceAtSwap", currentWXBalance), BooleanEntry("xtnSwapInProgress", true)]
4646 else throw("Strict value is not equal to itself.")
4747 }
4848 else throw("Strict value is not equal to itself.")
4949 }
5050 else throw("Strict value is not equal to itself.")
5151 }
5252 }
5353 case _ =>
5454 throw("Incorrect data from neutrino smart contract")
5555 }
5656 else throw("Strict value is not equal to itself.")
5757 }
5858
5959
6060
6161 @Callable(i)
6262 func exchangeXtnRewardsAndCalculateXtnProfit () = if (!(getBooleanValue("xtnSwapInProgress")))
6363 then throw("Main XTN Swap isn't running, you need to run it first")
6464 else {
6565 let txId = base58'3PAv42skNMWedMSNx75fMDuMcFzggaELYqK'
66- let withdraw_res = invoke(Address(neutrinoContract), "withdraw", [toString(this), 1579844, "GuedHfMR1ZwU3hKaWtZZt7HNAZGUh8AvUk5rz4fTpZuP"], nil)
66+ let withdraw_res = invoke(Address(neutrinoContract), "withdraw", [toString(this), 1579845, "GuedHfMR1ZwU3hKaWtZZt7HNAZGUh8AvUk5rz4fTpZuP"], nil)
6767 if ((withdraw_res == withdraw_res))
6868 then {
6969 let wavesBalanceBeforeSwap = getIntegerValue("wavesBalanceAtSwap")
7070 let wxBalanceBeforeSwap = getIntegerValue("wxBalanceAtSwap")
7171 let currentWavesBalance = wavesBalance(this)
7272 if ((currentWavesBalance == currentWavesBalance))
7373 then {
7474 let currentWXBalance = assetBalance(this, wxAssetId)
7575 if ((currentWXBalance == currentWXBalance))
7676 then {
7777 let currentXTNBalance = assetBalance(this, xtnAssetId)
7878 if ((currentXTNBalance == currentXTNBalance))
7979 then {
8080 let rewardAmountWaves = (currentWavesBalance.available - wavesBalanceBeforeSwap)
8181 let rewardAmountWX = (currentWXBalance - wxBalanceBeforeSwap)
8282 if ((0 >= rewardAmountWaves))
8383 then throw("Waves reward amount is zero")
8484 else if ((0 >= rewardAmountWX))
8585 then throw("WX reward amount is zero")
8686 else {
8787 let wavesSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(this), 0], [AttachedPayment(unit, rewardAmountWaves)])
8888 if ((wavesSwap == wavesSwap))
8989 then {
9090 let currentXTNBalanceAfterWavesExchange = assetBalance(this, xtnAssetId)
9191 if ((currentXTNBalanceAfterWavesExchange == currentXTNBalanceAfterWavesExchange))
9292 then {
9393 let wavesReward = (currentXTNBalanceAfterWavesExchange - currentXTNBalance)
9494 let wxSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(this), 0], [AttachedPayment(wxAssetId, rewardAmountWX)])
9595 if ((wxSwap == wxSwap))
9696 then {
9797 let currentXTNBalanceAfterWXExchange = assetBalance(this, xtnAssetId)
9898 if ((currentXTNBalanceAfterWXExchange == currentXTNBalanceAfterWXExchange))
9999 then {
100100 let wxReward = (currentXTNBalanceAfterWXExchange - currentXTNBalanceAfterWavesExchange)
101101 let totalXTNReward = (wavesReward + wxReward)
102102 [IntegerEntry("EXCHANGE_WAVES_BALANCE_AT_START", currentWavesBalance.available), IntegerEntry("EXCHANGE_WX_BALANCE_AT_START", currentWXBalance), IntegerEntry("EXCHANGE_XTN_BALANCE_AT_START", currentXTNBalance), IntegerEntry("EXCHANGE_EARNED_WAVES_FROM_MAIN_XTN_SWAP", rewardAmountWaves), IntegerEntry("EXCHANGE_EARNED_WX_FROM_MAIN_XTN_SWAP", rewardAmountWX), IntegerEntry("EXCHANGE_XTN_BALANCE_AFTER_WAVES_EXCHANGE", currentXTNBalanceAfterWavesExchange), IntegerEntry("EXCHANGE_XTN_EARNINGS_AFTER_WAVES_EXCHANGE", wavesReward), IntegerEntry("EXCHANGE_XTN_BALANCE_AFTER_WX_EXCHANGE", currentXTNBalanceAfterWXExchange), IntegerEntry("EXCHANGE_XTN_EARNINGS_AFTER_WX_EXCHANGE", wxReward), IntegerEntry("EXCHANGE_XTN_TOTAL_ERNINGS_AFTER_EXCHANGE", totalXTNReward), BooleanEntry("xtnSwapInProgress", false)]
103103 }
104104 else throw("Strict value is not equal to itself.")
105105 }
106106 else throw("Strict value is not equal to itself.")
107107 }
108108 else throw("Strict value is not equal to itself.")
109109 }
110110 else throw("Strict value is not equal to itself.")
111111 }
112112 }
113113 else throw("Strict value is not equal to itself.")
114114 }
115115 else throw("Strict value is not equal to itself.")
116116 }
117117 else throw("Strict value is not equal to itself.")
118118 }
119119 else throw("Strict value is not equal to itself.")
120120 }
121121
122122
123123
124124 @Callable(i)
125125 func mainSwap () = {
126126 let result = invoke(Address(neutrinoContract), "swapParamsByUserSYSREADONLY", [toString(this), 0], nil)
127127 if ((result == result))
128128 then match result {
129129 case tuple: (Int, Int, Int, Int, Int, Int, Int) =>
130130 if ((tuple._3 > 0))
131131 then throw((("Time is not come yet, you need to wait " + toString(tuple._3)) + " blocks"))
132132 else {
133133 let maxSwapAmount = tuple._7
134134 if ((0 >= maxSwapAmount))
135135 then throw("Nothing to swap, stake SURF first")
136136 else {
137137 let currentXTNAmount = assetBalance(this, xtnAssetId)
138138 if ((maxSwapAmount > currentXTNAmount))
139139 then throw("XTN balance on account is smaller that your max amount")
140140 else {
141141 let currentWavesBalance = wavesBalance(this)
142142 if ((currentWavesBalance == currentWavesBalance))
143143 then {
144144 let currentWXBalance = assetBalance(this, wxAssetId)
145145 if ((currentWXBalance == currentWXBalance))
146146 then {
147147 let swapNeutrinoToAssets = invoke(Address(neutrinoContract), "swapNeutrinoToBasket", nil, [AttachedPayment(xtnAssetId, maxSwapAmount)])
148148 if ((swapNeutrinoToAssets == swapNeutrinoToAssets))
149149 then {
150150 let newWavesBalance = wavesBalance(this)
151151 let newWXBalance = assetBalance(this, wxAssetId)
152152 let wavesEarnings = (newWavesBalance.available - currentWavesBalance.available)
153153 let wxEarnings = (newWXBalance - currentWXBalance)
154154 let wavesSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(i.caller), 0], [AttachedPayment(unit, wavesEarnings)])
155155 if ((wavesSwap == wavesSwap))
156156 then {
157157 let xtnBalanceAfterWavesSwap = assetBalance(this, xtnAssetId)
158158 if ((xtnBalanceAfterWavesSwap == xtnBalanceAfterWavesSwap))
159159 then {
160160 let xtnEaringsFromWavesSwap = (xtnBalanceAfterWavesSwap - (currentXTNAmount - maxSwapAmount))
161161 if ((xtnEaringsFromWavesSwap == xtnEaringsFromWavesSwap))
162162 then {
163163 let wxSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(i.caller), 0], [AttachedPayment(wxAssetId, wxEarnings)])
164164 if ((wxSwap == wxSwap))
165165 then {
166166 let xtnBalanceAfterWxSwap = assetBalance(this, xtnAssetId)
167167 if ((xtnBalanceAfterWxSwap == xtnBalanceAfterWxSwap))
168168 then {
169169 let xtnEaringsFromWxSwap = (xtnBalanceAfterWavesSwap - (currentXTNAmount - maxSwapAmount))
170170 if ((xtnEaringsFromWxSwap == xtnEaringsFromWxSwap))
171171 then {
172172 let xtnTotalEarnins = (xtnEaringsFromWavesSwap + xtnEaringsFromWxSwap)
173173 [IntegerEntry("Max_XTN_Amount_To_Swap", maxSwapAmount), IntegerEntry("XTN_Amount_Before_Main_Swap", currentXTNAmount), IntegerEntry("Waves_Amount_Before_Main_Swap", currentWavesBalance.available), IntegerEntry("WX_Amount_Before_Main_Swap", currentWXBalance), IntegerEntry("Waves_Amount_AFTER_Main_Swap", newWavesBalance.available), IntegerEntry("WX_Amount_AFTER_Main_Swap", newWXBalance), IntegerEntry("Waves_Earnings_For_Swap", wavesEarnings), IntegerEntry("WX_Earnings_For_Swap", wxEarnings), IntegerEntry("XTN_Balance_AFTER_WAVES_Dex_Exchange", xtnBalanceAfterWavesSwap), IntegerEntry("XTN_Earnings_AFTER_WAVES_Dex_Exchange", xtnEaringsFromWavesSwap), IntegerEntry("XTN_Balance_AFTER_WX_Dex_Exchange", xtnBalanceAfterWxSwap), IntegerEntry("XTN_Earnings_AFTER_WX_Dex_Exchange", xtnEaringsFromWxSwap), IntegerEntry("XTN_Total_Earnings", xtnTotalEarnins)]
174174 }
175175 else throw("Strict value is not equal to itself.")
176176 }
177177 else throw("Strict value is not equal to itself.")
178178 }
179179 else throw("Strict value is not equal to itself.")
180180 }
181181 else throw("Strict value is not equal to itself.")
182182 }
183183 else throw("Strict value is not equal to itself.")
184184 }
185185 else throw("Strict value is not equal to itself.")
186186 }
187187 else throw("Strict value is not equal to itself.")
188188 }
189189 else throw("Strict value is not equal to itself.")
190190 }
191191 else throw("Strict value is not equal to itself.")
192192 }
193193 }
194194 }
195195 case _ =>
196196 throw("Can't decode tuple")
197197 }
198198 else throw("Strict value is not equal to itself.")
199199 }
200200
201201
202202 @Verifier(tx)
203203 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
204204

github/deemru/w8io/3ef1775 
102.33 ms