tx · 9WWdFLXtwTJVtFqCqNC7ex8Yqg5AujUDXxGwGsKgnbAp 3PAv42skNMWedMSNx75fMDuMcFzggaELYqK: -0.01500000 Waves 2023.04.06 15:56 [3588361] smart account 3PAv42skNMWedMSNx75fMDuMcFzggaELYqK > SELF 0.00000000 Waves
{ "type": 13, "id": "9WWdFLXtwTJVtFqCqNC7ex8Yqg5AujUDXxGwGsKgnbAp", "fee": 1500000, "feeAssetId": null, "timestamp": 1680785826355, "version": 2, "chainId": 87, "sender": "3PAv42skNMWedMSNx75fMDuMcFzggaELYqK", "senderPublicKey": "2S8hdm8hsS8LEgawkBAPztpWr6tkd4qFjb3TPzqmm7D1", "proofs": [ "3oCsnhosqjmNqdDEexDDM2gmQanarCjjN7mm7K5kp2ZtwB3nYXLEZJ9wb23KQ79K3aKTZtUN3qHbyW1zHbCxqG5w" ], "script": "base64:AAIFAAAAAAAAAAwIAhIAEgASABIAEgAAAAAFAAAAABBuZXV0cmlub0NvbnRyYWN0AQAAABoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgAAAAAWbmV1dHJpbm9TdGFraW5nQWRkcmVzcwEAAAAaAVdraDjhA9SajJ8SG8YsvCMHOQvN7RLXCl8AAAAACnh0bkFzc2V0SWQBAAAAILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAAAAAtzdXJmQXNzZXRJZAEAAAAgktH0SuIRASv0fureIY49xfvJ8n3Oh7LtUhnwOk4kWPUAAAAACXd4QXNzZXRJZAEAAAAgkwEcq6nHbiVXzmaecba9qmv4POhYCyru2aBOuzzcFLEAAAAFAAAAAWkBAAAAD3N0YWtlVG9OZXV0cmlubwAAAAAEAAAABnJlc3VsdAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAFm5ldXRyaW5vU3Rha2luZ0FkZHJlc3MCAAAABXN0YWtlBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAC3N1cmZBc3NldElkAAAAAADuaygABQAAAANuaWwDCQAAAAAAAAIFAAAABnJlc3VsdAUAAAAGcmVzdWx0BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAE3N3YXBYVE5Gcm9tTmV1dHJpbm8AAAAABAAAAAZyZXN1bHQJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAABtzd2FwUGFyYW1zQnlVc2VyU1lTUkVBRE9OTFkJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAZyZXN1bHQFAAAABnJlc3VsdAQAAAAHJG1hdGNoMAUAAAAGcmVzdWx0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAACMoSW50LCBJbnQsIEludCwgSW50LCBJbnQsIEludCwgSW50KQQAAAAFdHVwbGUFAAAAByRtYXRjaDADCQAAZgAAAAIIBQAAAAV0dXBsZQAAAAJfMwAAAAAAAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAnVGltZSBpcyBub3QgY29tZSB5ZXQsIHlvdSBuZWVkIHRvIHdhaXQgCQABpAAAAAEIBQAAAAV0dXBsZQAAAAJfMwIAAAAHIGJsb2NrcwQAAAANbWF4U3dhcEFtb3VudAgFAAAABXR1cGxlAAAAAl83AwkAAGYAAAACAAAAAAAAD0JABQAAAA1tYXhTd2FwQW1vdW50CQAAAgAAAAECAAAAG01pbiBYVE4gYW1vdW50IHRvIHN3YXAgaXMgMQQAAAATY3VycmVudFdhdmVzQmFsYW5jZQkAA+8AAAABBQAAAAR0aGlzAwkAAAAAAAACBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBAAAABBjdXJyZW50V1hCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAACXd4QXNzZXRJZAMJAAAAAAAAAgUAAAAQY3VycmVudFdYQmFsYW5jZQUAAAAQY3VycmVudFdYQmFsYW5jZQQAAAAUc3dhcE5ldXRyaW5vVG9Bc3NldHMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAABRzd2FwTmV1dHJpbm9Ub0Jhc2tldAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAp4dG5Bc3NldElkBQAAAA1tYXhTd2FwQW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAAFHN3YXBOZXV0cmlub1RvQXNzZXRzBQAAABRzd2FwTmV1dHJpbm9Ub0Fzc2V0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAPeHRuU3dhcGVkQW1vdW50BQAAAA1tYXhTd2FwQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJ3YXZlc0JhbGFuY2VBdFN3YXAIBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlAAAACWF2YWlsYWJsZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAPd3hCYWxhbmNlQXRTd2FwBQAAABBjdXJyZW50V1hCYWxhbmNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAABF4dG5Td2FwSW5Qcm9ncmVzcwYFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACtJbmNvcnJlY3QgZGF0YSBmcm9tIG5ldXRyaW5vIHNtYXJ0IGNvbnRyYWN0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA93cml0ZVByaWNlSW5kZXgAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApzd2FwX2luZGV4CQAAZAAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVcjs60SXJOkyuw5/k9G1s1WTS37EPtjmHoCAAAAC3ByaWNlX2luZGV4AAAAAAAAAAABBQAAAANuaWwAAAABaQEAAAAnZXhjaGFuZ2VYdG5SZXdhcmRzQW5kQ2FsY3VsYXRlWHRuUHJvZml0AAAAAAMJAQAAAAEhAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTYpAAAAAQIAAAAReHRuU3dhcEluUHJvZ3Jlc3MJAAACAAAAAQIAAAA1TWFpbiBYVE4gU3dhcCBpc24ndCBydW5uaW5nLCB5b3UgbmVlZCB0byBydW4gaXQgZmlyc3QEAAAABHR4SWQBAAAAGgFXYpB7jo1asvp2L5zibyxJPNbPb/eWSIT2BAAAAAx3aXRoZHJhd19yZXMJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0AgAAAAh3aXRoZHJhdwkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMJAARMAAAAAgAAAAAAABgbRQkABEwAAAACAgAAACxHdWVkSGZNUjFad1UzaEthV3RaWnQ3SE5BWkdVaDhBdlVrNXJ6NGZUcFp1UAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADHdpdGhkcmF3X3JlcwUAAAAMd2l0aGRyYXdfcmVzBAAAABZ3YXZlc0JhbGFuY2VCZWZvcmVTd2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1NSkAAAABAgAAABJ3YXZlc0JhbGFuY2VBdFN3YXAEAAAAE3d4QmFsYW5jZUJlZm9yZVN3YXAJAQAAABFAZXh0ck5hdGl2ZSgxMDU1KQAAAAECAAAAD3d4QmFsYW5jZUF0U3dhcAQAAAATY3VycmVudFdhdmVzQmFsYW5jZQkAA+8AAAABBQAAAAR0aGlzAwkAAAAAAAACBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBQAAABNjdXJyZW50V2F2ZXNCYWxhbmNlBAAAABBjdXJyZW50V1hCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAACXd4QXNzZXRJZAMJAAAAAAAAAgUAAAAQY3VycmVudFdYQmFsYW5jZQUAAAAQY3VycmVudFdYQmFsYW5jZQQAAAARY3VycmVudFhUTkJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAKeHRuQXNzZXRJZAMJAAAAAAAAAgUAAAARY3VycmVudFhUTkJhbGFuY2UFAAAAEWN1cnJlbnRYVE5CYWxhbmNlBAAAABFyZXdhcmRBbW91bnRXYXZlcwkAAGUAAAACCAUAAAATY3VycmVudFdhdmVzQmFsYW5jZQAAAAlhdmFpbGFibGUFAAAAFndhdmVzQmFsYW5jZUJlZm9yZVN3YXAEAAAADnJld2FyZEFtb3VudFdYCQAAZQAAAAIFAAAAEGN1cnJlbnRXWEJhbGFuY2UFAAAAE3d4QmFsYW5jZUJlZm9yZVN3YXADCQAAZwAAAAIAAAAAAAAAAAAFAAAAEXJld2FyZEFtb3VudFdhdmVzCQAAAgAAAAECAAAAG1dhdmVzIHJld2FyZCBhbW91bnQgaXMgemVybwMJAABnAAAAAgAAAAAAAAAAAAUAAAAOcmV3YXJkQW1vdW50V1gJAAACAAAAAQIAAAAYV1ggcmV3YXJkIGFtb3VudCBpcyB6ZXJvBAAAAAl3YXZlc1N3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAEdW5pdAUAAAARcmV3YXJkQW1vdW50V2F2ZXMFAAAAA25pbAMJAAAAAAAAAgUAAAAJd2F2ZXNTd2FwBQAAAAl3YXZlc1N3YXAEAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlCQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAAAAAAAIFAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlBQAAACNjdXJyZW50WFROQmFsYW5jZUFmdGVyV2F2ZXNFeGNoYW5nZQQAAAALd2F2ZXNSZXdhcmQJAABlAAAAAgUAAAAjY3VycmVudFhUTkJhbGFuY2VBZnRlcldhdmVzRXhjaGFuZ2UFAAAAEWN1cnJlbnRYVE5CYWxhbmNlBAAAAAZ3eFN3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABBQAAAAR0aGlzCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAJd3hBc3NldElkBQAAAA5yZXdhcmRBbW91bnRXWAUAAAADbmlsAwkAAAAAAAACBQAAAAZ3eFN3YXAFAAAABnd4U3dhcAQAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAKeHRuQXNzZXRJZAMJAAAAAAAAAgUAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UFAAAAIGN1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXWEV4Y2hhbmdlBAAAAAh3eFJld2FyZAkAAGUAAAACBQAAACBjdXJyZW50WFROQmFsYW5jZUFmdGVyV1hFeGNoYW5nZQUAAAAjY3VycmVudFhUTkJhbGFuY2VBZnRlcldhdmVzRXhjaGFuZ2UEAAAADnRvdGFsWFROUmV3YXJkCQAAZAAAAAIFAAAAC3dhdmVzUmV3YXJkBQAAAAh3eFJld2FyZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAfRVhDSEFOR0VfV0FWRVNfQkFMQU5DRV9BVF9TVEFSVAgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABxFWENIQU5HRV9XWF9CQUxBTkNFX0FUX1NUQVJUBQAAABBjdXJyZW50V1hCYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB1FWENIQU5HRV9YVE5fQkFMQU5DRV9BVF9TVEFSVAUAAAARY3VycmVudFhUTkJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAKEVYQ0hBTkdFX0VBUk5FRF9XQVZFU19GUk9NX01BSU5fWFROX1NXQVAFAAAAEXJld2FyZEFtb3VudFdhdmVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACVFWENIQU5HRV9FQVJORURfV1hfRlJPTV9NQUlOX1hUTl9TV0FQBQAAAA5yZXdhcmRBbW91bnRXWAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAApRVhDSEFOR0VfWFROX0JBTEFOQ0VfQUZURVJfV0FWRVNfRVhDSEFOR0UFAAAAI2N1cnJlbnRYVE5CYWxhbmNlQWZ0ZXJXYXZlc0V4Y2hhbmdlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACpFWENIQU5HRV9YVE5fRUFSTklOR1NfQUZURVJfV0FWRVNfRVhDSEFOR0UFAAAAC3dhdmVzUmV3YXJkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACZFWENIQU5HRV9YVE5fQkFMQU5DRV9BRlRFUl9XWF9FWENIQU5HRQUAAAAgY3VycmVudFhUTkJhbGFuY2VBZnRlcldYRXhjaGFuZ2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAJ0VYQ0hBTkdFX1hUTl9FQVJOSU5HU19BRlRFUl9XWF9FWENIQU5HRQUAAAAId3hSZXdhcmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAKUVYQ0hBTkdFX1hUTl9UT1RBTF9FUk5JTkdTX0FGVEVSX0VYQ0hBTkdFBQAAAA50b3RhbFhUTlJld2FyZAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAReHRuU3dhcEluUHJvZ3Jlc3MHBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAhtYWluU3dhcAAAAAAEAAAABnJlc3VsdAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAG3N3YXBQYXJhbXNCeVVzZXJTWVNSRUFET05MWQkABEwAAAACCQAEJQAAAAEFAAAABHRoaXMJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABnJlc3VsdAUAAAAGcmVzdWx0BAAAAAckbWF0Y2gwBQAAAAZyZXN1bHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAIyhJbnQsIEludCwgSW50LCBJbnQsIEludCwgSW50LCBJbnQpBAAAAAV0dXBsZQUAAAAHJG1hdGNoMAMJAABmAAAAAggFAAAABXR1cGxlAAAAAl8zAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACdUaW1lIGlzIG5vdCBjb21lIHlldCwgeW91IG5lZWQgdG8gd2FpdCAJAAGkAAAAAQgFAAAABXR1cGxlAAAAAl8zAgAAAAcgYmxvY2tzBAAAAA1tYXhTd2FwQW1vdW50CAUAAAAFdHVwbGUAAAACXzcDCQAAZwAAAAIAAAAAAAAAAAAFAAAADW1heFN3YXBBbW91bnQJAAACAAAAAQIAAAAhTm90aGluZyB0byBzd2FwLCBzdGFrZSBTVVJGIGZpcnN0BAAAABBjdXJyZW50WFROQW1vdW50CQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAZgAAAAIFAAAADW1heFN3YXBBbW91bnQFAAAAEGN1cnJlbnRYVE5BbW91bnQJAAACAAAAAQIAAAA2WFROIGJhbGFuY2Ugb24gYWNjb3VudCBpcyBzbWFsbGVyIHRoYXQgeW91ciBtYXggYW1vdW50BAAAABNjdXJyZW50V2F2ZXNCYWxhbmNlCQAD7wAAAAEFAAAABHRoaXMDCQAAAAAAAAIFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UEAAAAEGN1cnJlbnRXWEJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAJd3hBc3NldElkAwkAAAAAAAACBQAAABBjdXJyZW50V1hCYWxhbmNlBQAAABBjdXJyZW50V1hCYWxhbmNlBAAAABRzd2FwTmV1dHJpbm9Ub0Fzc2V0cwkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QCAAAAFHN3YXBOZXV0cmlub1RvQmFza2V0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACnh0bkFzc2V0SWQFAAAADW1heFN3YXBBbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAUc3dhcE5ldXRyaW5vVG9Bc3NldHMFAAAAFHN3YXBOZXV0cmlub1RvQXNzZXRzBAAAAA9uZXdXYXZlc0JhbGFuY2UJAAPvAAAAAQUAAAAEdGhpcwQAAAAMbmV3V1hCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAACXd4QXNzZXRJZAQAAAANd2F2ZXNFYXJuaW5ncwkAAGUAAAACCAUAAAAPbmV3V2F2ZXNCYWxhbmNlAAAACWF2YWlsYWJsZQgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlBAAAAAp3eEVhcm5pbmdzCQAAZQAAAAIFAAAADG5ld1dYQmFsYW5jZQUAAAAQY3VycmVudFdYQmFsYW5jZQQAAAAJd2F2ZXNTd2FwCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVfKa/yf18u6NT07ZpoejrCKUqc0oppDlIICAAAAFGV4Y2hhbmdlVGhlblRyYW5zZmVyCQAETAAAAAICAAAALERHMnhGa1BkRHdLVW9Ca3pHQWhRdExwU0d6ZlhMaUNZUEV6ZUtIMkFkMjRwCQAETAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAEdW5pdAUAAAANd2F2ZXNFYXJuaW5ncwUAAAADbmlsAwkAAAAAAAACBQAAAAl3YXZlc1N3YXAFAAAACXdhdmVzU3dhcAQAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwCQAD8AAAAAIFAAAABHRoaXMFAAAACnh0bkFzc2V0SWQDCQAAAAAAAAIFAAAAGHh0bkJhbGFuY2VBZnRlcldhdmVzU3dhcAUAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwBAAAABd4dG5FYXJpbmdzRnJvbVdhdmVzU3dhcAkAAGUAAAACBQAAABh4dG5CYWxhbmNlQWZ0ZXJXYXZlc1N3YXAJAABlAAAAAgUAAAAQY3VycmVudFhUTkFtb3VudAUAAAANbWF4U3dhcEFtb3VudAMJAAAAAAAAAgUAAAAXeHRuRWFyaW5nc0Zyb21XYXZlc1N3YXAFAAAAF3h0bkVhcmluZ3NGcm9tV2F2ZXNTd2FwBAAAAAZ3eFN3YXAJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8pr/J/Xy7o1PTtmmh6OsIpSpzSimkOUggIAAAAUZXhjaGFuZ2VUaGVuVHJhbnNmZXIJAARMAAAAAgIAAAAsREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHAJAARMAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAl3eEFzc2V0SWQFAAAACnd4RWFybmluZ3MFAAAAA25pbAMJAAAAAAAAAgUAAAAGd3hTd2FwBQAAAAZ3eFN3YXAEAAAAFXh0bkJhbGFuY2VBZnRlcld4U3dhcAkAA/AAAAACBQAAAAR0aGlzBQAAAAp4dG5Bc3NldElkAwkAAAAAAAACBQAAABV4dG5CYWxhbmNlQWZ0ZXJXeFN3YXAFAAAAFXh0bkJhbGFuY2VBZnRlcld4U3dhcAQAAAAUeHRuRWFyaW5nc0Zyb21XeFN3YXAJAABlAAAAAgUAAAAYeHRuQmFsYW5jZUFmdGVyV2F2ZXNTd2FwCQAAZQAAAAIFAAAAEGN1cnJlbnRYVE5BbW91bnQFAAAADW1heFN3YXBBbW91bnQDCQAAAAAAAAIFAAAAFHh0bkVhcmluZ3NGcm9tV3hTd2FwBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAQAAAAPeHRuVG90YWxFYXJuaW5zCQAAZAAAAAIFAAAAF3h0bkVhcmluZ3NGcm9tV2F2ZXNTd2FwBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWTWF4X1hUTl9BbW91bnRfVG9fU3dhcAUAAAANbWF4U3dhcEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbWFROX0Ftb3VudF9CZWZvcmVfTWFpbl9Td2FwBQAAABBjdXJyZW50WFROQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAB1XYXZlc19BbW91bnRfQmVmb3JlX01haW5fU3dhcAgFAAAAE2N1cnJlbnRXYXZlc0JhbGFuY2UAAAAJYXZhaWxhYmxlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpXWF9BbW91bnRfQmVmb3JlX01haW5fU3dhcAUAAAAQY3VycmVudFdYQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAcV2F2ZXNfQW1vdW50X0FGVEVSX01haW5fU3dhcAgFAAAAD25ld1dhdmVzQmFsYW5jZQAAAAlhdmFpbGFibGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGVdYX0Ftb3VudF9BRlRFUl9NYWluX1N3YXAFAAAADG5ld1dYQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXV2F2ZXNfRWFybmluZ3NfRm9yX1N3YXAFAAAADXdhdmVzRWFybmluZ3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFdYX0Vhcm5pbmdzX0Zvcl9Td2FwBQAAAAp3eEVhcm5pbmdzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACRYVE5fQmFsYW5jZV9BRlRFUl9XQVZFU19EZXhfRXhjaGFuZ2UFAAAAGHh0bkJhbGFuY2VBZnRlcldhdmVzU3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAlWFROX0Vhcm5pbmdzX0FGVEVSX1dBVkVTX0RleF9FeGNoYW5nZQUAAAAXeHRuRWFyaW5nc0Zyb21XYXZlc1N3YXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAIVhUTl9CYWxhbmNlX0FGVEVSX1dYX0RleF9FeGNoYW5nZQUAAAAVeHRuQmFsYW5jZUFmdGVyV3hTd2FwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAACJYVE5fRWFybmluZ3NfQUZURVJfV1hfRGV4X0V4Y2hhbmdlBQAAABR4dG5FYXJpbmdzRnJvbVd4U3dhcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASWFROX1RvdGFsX0Vhcm5pbmdzBQAAAA94dG5Ub3RhbEVhcm5pbnMFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAABJDYW4ndCBkZWNvZGUgdHVwbGUJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlqh4Br", "height": 3588361, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CJCqCTd17zHz6pebbneBBfgFTFQ6Xtei5M3Q16bSRpYg Next: 6GGxBTWrSUcZxwi1ifQmp1h1LZ7dzcQSc6gWvrmTBPXA Diff:
Old | New | Differences | |
---|---|---|---|
55 | 55 | } | |
56 | 56 | else throw("Strict value is not equal to itself.") | |
57 | 57 | } | |
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | @Callable(i) | |
62 | + | func writePriceIndex () = [IntegerEntry("swap_index", (getIntegerValue(Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP'), "price_index") + 1))] | |
58 | 63 | ||
59 | 64 | ||
60 | 65 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let neutrinoContract = base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo' | |
5 | 5 | ||
6 | 6 | let neutrinoStakingAddress = base58'3PBiotFpqjRMkkeFBccnQNUXUopy7KFez5C' | |
7 | 7 | ||
8 | 8 | let xtnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
9 | 9 | ||
10 | 10 | let surfAssetId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL' | |
11 | 11 | ||
12 | 12 | let wxAssetId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on' | |
13 | 13 | ||
14 | 14 | @Callable(i) | |
15 | 15 | func stakeToNeutrino () = { | |
16 | 16 | let result = invoke(Address(neutrinoStakingAddress), "stake", nil, [AttachedPayment(surfAssetId, 4000000000)]) | |
17 | 17 | if ((result == result)) | |
18 | 18 | then nil | |
19 | 19 | else throw("Strict value is not equal to itself.") | |
20 | 20 | } | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | ||
24 | 24 | @Callable(i) | |
25 | 25 | func swapXTNFromNeutrino () = { | |
26 | 26 | let result = invoke(Address(neutrinoContract), "swapParamsByUserSYSREADONLY", [toString(this), 0], nil) | |
27 | 27 | if ((result == result)) | |
28 | 28 | then match result { | |
29 | 29 | case tuple: (Int, Int, Int, Int, Int, Int, Int) => | |
30 | 30 | if ((tuple._3 > 0)) | |
31 | 31 | then throw((("Time is not come yet, you need to wait " + toString(tuple._3)) + " blocks")) | |
32 | 32 | else { | |
33 | 33 | let maxSwapAmount = tuple._7 | |
34 | 34 | if ((1000000 > maxSwapAmount)) | |
35 | 35 | then throw("Min XTN amount to swap is 1") | |
36 | 36 | else { | |
37 | 37 | let currentWavesBalance = wavesBalance(this) | |
38 | 38 | if ((currentWavesBalance == currentWavesBalance)) | |
39 | 39 | then { | |
40 | 40 | let currentWXBalance = assetBalance(this, wxAssetId) | |
41 | 41 | if ((currentWXBalance == currentWXBalance)) | |
42 | 42 | then { | |
43 | 43 | let swapNeutrinoToAssets = invoke(Address(neutrinoContract), "swapNeutrinoToBasket", nil, [AttachedPayment(xtnAssetId, maxSwapAmount)]) | |
44 | 44 | if ((swapNeutrinoToAssets == swapNeutrinoToAssets)) | |
45 | 45 | then [IntegerEntry("xtnSwapedAmount", maxSwapAmount), IntegerEntry("wavesBalanceAtSwap", currentWavesBalance.available), IntegerEntry("wxBalanceAtSwap", currentWXBalance), BooleanEntry("xtnSwapInProgress", true)] | |
46 | 46 | else throw("Strict value is not equal to itself.") | |
47 | 47 | } | |
48 | 48 | else throw("Strict value is not equal to itself.") | |
49 | 49 | } | |
50 | 50 | else throw("Strict value is not equal to itself.") | |
51 | 51 | } | |
52 | 52 | } | |
53 | 53 | case _ => | |
54 | 54 | throw("Incorrect data from neutrino smart contract") | |
55 | 55 | } | |
56 | 56 | else throw("Strict value is not equal to itself.") | |
57 | 57 | } | |
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | @Callable(i) | |
62 | + | func writePriceIndex () = [IntegerEntry("swap_index", (getIntegerValue(Address(base58'3P5Bfd58PPfNvBM2Hy8QfbcDqMeNtzg7KfP'), "price_index") + 1))] | |
58 | 63 | ||
59 | 64 | ||
60 | 65 | ||
61 | 66 | @Callable(i) | |
62 | 67 | func exchangeXtnRewardsAndCalculateXtnProfit () = if (!(getBooleanValue("xtnSwapInProgress"))) | |
63 | 68 | then throw("Main XTN Swap isn't running, you need to run it first") | |
64 | 69 | else { | |
65 | 70 | let txId = base58'3PAv42skNMWedMSNx75fMDuMcFzggaELYqK' | |
66 | 71 | let withdraw_res = invoke(Address(neutrinoContract), "withdraw", [toString(this), 1579845, "GuedHfMR1ZwU3hKaWtZZt7HNAZGUh8AvUk5rz4fTpZuP"], nil) | |
67 | 72 | if ((withdraw_res == withdraw_res)) | |
68 | 73 | then { | |
69 | 74 | let wavesBalanceBeforeSwap = getIntegerValue("wavesBalanceAtSwap") | |
70 | 75 | let wxBalanceBeforeSwap = getIntegerValue("wxBalanceAtSwap") | |
71 | 76 | let currentWavesBalance = wavesBalance(this) | |
72 | 77 | if ((currentWavesBalance == currentWavesBalance)) | |
73 | 78 | then { | |
74 | 79 | let currentWXBalance = assetBalance(this, wxAssetId) | |
75 | 80 | if ((currentWXBalance == currentWXBalance)) | |
76 | 81 | then { | |
77 | 82 | let currentXTNBalance = assetBalance(this, xtnAssetId) | |
78 | 83 | if ((currentXTNBalance == currentXTNBalance)) | |
79 | 84 | then { | |
80 | 85 | let rewardAmountWaves = (currentWavesBalance.available - wavesBalanceBeforeSwap) | |
81 | 86 | let rewardAmountWX = (currentWXBalance - wxBalanceBeforeSwap) | |
82 | 87 | if ((0 >= rewardAmountWaves)) | |
83 | 88 | then throw("Waves reward amount is zero") | |
84 | 89 | else if ((0 >= rewardAmountWX)) | |
85 | 90 | then throw("WX reward amount is zero") | |
86 | 91 | else { | |
87 | 92 | let wavesSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(this), 0], [AttachedPayment(unit, rewardAmountWaves)]) | |
88 | 93 | if ((wavesSwap == wavesSwap)) | |
89 | 94 | then { | |
90 | 95 | let currentXTNBalanceAfterWavesExchange = assetBalance(this, xtnAssetId) | |
91 | 96 | if ((currentXTNBalanceAfterWavesExchange == currentXTNBalanceAfterWavesExchange)) | |
92 | 97 | then { | |
93 | 98 | let wavesReward = (currentXTNBalanceAfterWavesExchange - currentXTNBalance) | |
94 | 99 | let wxSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(this), 0], [AttachedPayment(wxAssetId, rewardAmountWX)]) | |
95 | 100 | if ((wxSwap == wxSwap)) | |
96 | 101 | then { | |
97 | 102 | let currentXTNBalanceAfterWXExchange = assetBalance(this, xtnAssetId) | |
98 | 103 | if ((currentXTNBalanceAfterWXExchange == currentXTNBalanceAfterWXExchange)) | |
99 | 104 | then { | |
100 | 105 | let wxReward = (currentXTNBalanceAfterWXExchange - currentXTNBalanceAfterWavesExchange) | |
101 | 106 | let totalXTNReward = (wavesReward + wxReward) | |
102 | 107 | [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)] | |
103 | 108 | } | |
104 | 109 | else throw("Strict value is not equal to itself.") | |
105 | 110 | } | |
106 | 111 | else throw("Strict value is not equal to itself.") | |
107 | 112 | } | |
108 | 113 | else throw("Strict value is not equal to itself.") | |
109 | 114 | } | |
110 | 115 | else throw("Strict value is not equal to itself.") | |
111 | 116 | } | |
112 | 117 | } | |
113 | 118 | else throw("Strict value is not equal to itself.") | |
114 | 119 | } | |
115 | 120 | else throw("Strict value is not equal to itself.") | |
116 | 121 | } | |
117 | 122 | else throw("Strict value is not equal to itself.") | |
118 | 123 | } | |
119 | 124 | else throw("Strict value is not equal to itself.") | |
120 | 125 | } | |
121 | 126 | ||
122 | 127 | ||
123 | 128 | ||
124 | 129 | @Callable(i) | |
125 | 130 | func mainSwap () = { | |
126 | 131 | let result = invoke(Address(neutrinoContract), "swapParamsByUserSYSREADONLY", [toString(this), 0], nil) | |
127 | 132 | if ((result == result)) | |
128 | 133 | then match result { | |
129 | 134 | case tuple: (Int, Int, Int, Int, Int, Int, Int) => | |
130 | 135 | if ((tuple._3 > 0)) | |
131 | 136 | then throw((("Time is not come yet, you need to wait " + toString(tuple._3)) + " blocks")) | |
132 | 137 | else { | |
133 | 138 | let maxSwapAmount = tuple._7 | |
134 | 139 | if ((0 >= maxSwapAmount)) | |
135 | 140 | then throw("Nothing to swap, stake SURF first") | |
136 | 141 | else { | |
137 | 142 | let currentXTNAmount = assetBalance(this, xtnAssetId) | |
138 | 143 | if ((maxSwapAmount > currentXTNAmount)) | |
139 | 144 | then throw("XTN balance on account is smaller that your max amount") | |
140 | 145 | else { | |
141 | 146 | let currentWavesBalance = wavesBalance(this) | |
142 | 147 | if ((currentWavesBalance == currentWavesBalance)) | |
143 | 148 | then { | |
144 | 149 | let currentWXBalance = assetBalance(this, wxAssetId) | |
145 | 150 | if ((currentWXBalance == currentWXBalance)) | |
146 | 151 | then { | |
147 | 152 | let swapNeutrinoToAssets = invoke(Address(neutrinoContract), "swapNeutrinoToBasket", nil, [AttachedPayment(xtnAssetId, maxSwapAmount)]) | |
148 | 153 | if ((swapNeutrinoToAssets == swapNeutrinoToAssets)) | |
149 | 154 | then { | |
150 | 155 | let newWavesBalance = wavesBalance(this) | |
151 | 156 | let newWXBalance = assetBalance(this, wxAssetId) | |
152 | 157 | let wavesEarnings = (newWavesBalance.available - currentWavesBalance.available) | |
153 | 158 | let wxEarnings = (newWXBalance - currentWXBalance) | |
154 | 159 | let wavesSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(i.caller), 0], [AttachedPayment(unit, wavesEarnings)]) | |
155 | 160 | if ((wavesSwap == wavesSwap)) | |
156 | 161 | then { | |
157 | 162 | let xtnBalanceAfterWavesSwap = assetBalance(this, xtnAssetId) | |
158 | 163 | if ((xtnBalanceAfterWavesSwap == xtnBalanceAfterWavesSwap)) | |
159 | 164 | then { | |
160 | 165 | let xtnEaringsFromWavesSwap = (xtnBalanceAfterWavesSwap - (currentXTNAmount - maxSwapAmount)) | |
161 | 166 | if ((xtnEaringsFromWavesSwap == xtnEaringsFromWavesSwap)) | |
162 | 167 | then { | |
163 | 168 | let wxSwap = invoke(Address(base58'3PLPCb3wF2H2gtzohoAjeWcGaMKEiJvtE5X'), "exchangeThenTransfer", ["DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", toString(i.caller), 0], [AttachedPayment(wxAssetId, wxEarnings)]) | |
164 | 169 | if ((wxSwap == wxSwap)) | |
165 | 170 | then { | |
166 | 171 | let xtnBalanceAfterWxSwap = assetBalance(this, xtnAssetId) | |
167 | 172 | if ((xtnBalanceAfterWxSwap == xtnBalanceAfterWxSwap)) | |
168 | 173 | then { | |
169 | 174 | let xtnEaringsFromWxSwap = (xtnBalanceAfterWavesSwap - (currentXTNAmount - maxSwapAmount)) | |
170 | 175 | if ((xtnEaringsFromWxSwap == xtnEaringsFromWxSwap)) | |
171 | 176 | then { | |
172 | 177 | let xtnTotalEarnins = (xtnEaringsFromWavesSwap + xtnEaringsFromWxSwap) | |
173 | 178 | [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)] | |
174 | 179 | } | |
175 | 180 | else throw("Strict value is not equal to itself.") | |
176 | 181 | } | |
177 | 182 | else throw("Strict value is not equal to itself.") | |
178 | 183 | } | |
179 | 184 | else throw("Strict value is not equal to itself.") | |
180 | 185 | } | |
181 | 186 | else throw("Strict value is not equal to itself.") | |
182 | 187 | } | |
183 | 188 | else throw("Strict value is not equal to itself.") | |
184 | 189 | } | |
185 | 190 | else throw("Strict value is not equal to itself.") | |
186 | 191 | } | |
187 | 192 | else throw("Strict value is not equal to itself.") | |
188 | 193 | } | |
189 | 194 | else throw("Strict value is not equal to itself.") | |
190 | 195 | } | |
191 | 196 | else throw("Strict value is not equal to itself.") | |
192 | 197 | } | |
193 | 198 | } | |
194 | 199 | } | |
195 | 200 | case _ => | |
196 | 201 | throw("Can't decode tuple") | |
197 | 202 | } | |
198 | 203 | else throw("Strict value is not equal to itself.") | |
199 | 204 | } | |
200 | 205 | ||
201 | 206 | ||
202 | 207 | @Verifier(tx) | |
203 | 208 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
204 | 209 |
github/deemru/w8io/3ef1775 46.54 ms ◑