tx · EgnuyitmW1DyweCV2AJdriN64MuiVR9aEUC2C6rL3BVd

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2021.08.26 12:58 [1675161] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "EgnuyitmW1DyweCV2AJdriN64MuiVR9aEUC2C6rL3BVd", "fee": 1400000, "feeAssetId": null, "timestamp": 1629971977226, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "VsEdLMDdfAeHcg8pErdY5Fa6iPPKHi6yKxy9pFYYw5bbcBp4BCVP6vaASyLEFF9Z8jKiXZcANsuQQ21Cdy9sAsT" ], "script": "base64:AAIEAAAAAAAAADgIAhIFCgMIAQESABIAEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBgoECAgICAAAAAAAAAALAAAAAWkBAAAAFVJlZ2lzdGVyUGFpckZvclZvdGluZwAAAAMAAAAIQXNzZXRJRDEAAAAEZGF5cwAAAAxMaXN0aW5nUHJpY2UEAAAABHBtdDEJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABHBtdDIJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEEAAAACkZlZUFkZHJlc3MBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjBAAAABFtYXhpbXVtdm90aW5nZGF5cwAAAAAAAAAAWgQAAAANQmFsbGV0QXNzZXRJRAEAAAAgLW9bAbmd5UpvGoRop5PuExeWGALv8UR2MHtYdfeTqKAEAAAAC1VTRFRBc3NldElEAQAAACAIZYS3D/CKahrz4mjoLgiQJMPTJ1gDzSz2Ll4L39oVpAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAJUTgkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAABHBtdDIAAAAHYXNzZXRJZAQAAAAGb25lZGF5AAAAAAAAAAWgBAAAAA5Ob09mRGF5c0Jsb2NrcwkAAGgAAAACBQAAAAZvbmVkYXkFAAAABGRheXMEAAAAA2dhcAkAAGUAAAACBQAAAA5Ob09mRGF5c0Jsb2NrcwAAAAAAAACovwQAAAANdm90ZXNyZXF1aXJlZAkAAGgAAAACCQAAZAAAAAIAAAAAAAABhqAJAABpAAAAAgkAAGgAAAACAAAAAAAAAC02BQAAAANnYXAAAAAAAAAAJxAAAAAAAAX14QAEAAAADHZvdGluZ0V4cGlyZQkAAGQAAAACBQAAAAZoZWlnaHQFAAAADk5vT2ZEYXlzQmxvY2tzBAAAAAlmZXRjaHBhaXIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAACEFzc2V0SUQxBAAAAAx2b3RpbmdzdGF0dXMCAAAABEZhaWwEAAAADWFzc2V0aW5mb3BtdDIJAAJZAAAAAQUAAAAIQXNzZXRJRDEEAAAADHJldmVyc2VwcmljZQkAAGsAAAADAAAAAAAAAAABAAAAAOjUpRAABQAAAAxMaXN0aW5nUHJpY2UDCQAAZgAAAAIAAAAAAAAAACsJAAExAAAAAQUAAAAIQXNzZXRJRDEJAAACAAAAAQIAAAB5V3JvbmcgQXNzZXRJRDEgaXMgRW50ZXJlZCBmb3IgVm90aW5nLiBQbGVhc2UgRW50ZXIgYSBWYWxpZCBBc3NldElEMS4gUHJvYmFibHkgeW91IGVudGVyZWQgYW4gQVNTRVRJRDEgbGVzcyB0aGFuIDQzIENoYXJzLgMJAABnAAAAAgAAAAAAAAAAHQUAAAAEZGF5cwkAAAIAAAABAgAAACZFbnRlciBuby4gb2YgZGF5cyBpbiBiZXR3ZWVuIDMwIHRvIDkwLgMJAABmAAAAAgUAAAAEZGF5cwUAAAARbWF4aW11bXZvdGluZ2RheXMJAAACAAAAAQIAAABNWW91IEVudGVyZWQgZGF5cyBncmVhdGVyIHRoYW4gOTAgcGxlYXNlIEVudGVyIG5vLiBvZiBkYXlzIGluIGJldHdlZW4gMSB0byA5MC4DCQAAAAAAAAIFAAAACWZldGNocGFpcgUAAAAIQXNzZXRJRDEJAAACAAAAAQIAAAAiUGFpciBBbHJlYWR5IEV4aXN0IGluIFZvdGluZyBMaXN0LgMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAIJAAACAAAAAQIAAACHVHdvIGF0dGFjaGVkIGFzc2V0cyBleHBlY3RlZCBhcyBwYXltZW50LiBLaW5kbHkgQXR0YWNoIHBheW1lbnQxID0gQmFsbGV0IFRva2VuIGFuZCBwYXltZW50MiA9IFRva2VuIHlvdSB3YW50IHRvIGFkZCB0byBMaXN0IGZvciBWb3RpbmcuAwkBAAAAAiE9AAAAAggFAAAABHBtdDEAAAAHYXNzZXRJZAUAAAANQmFsbGV0QXNzZXRJRAkAAAIAAAABAgAAAFhJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQgZm9yIFZvdGluZyBpbiBwYXltZW50WzFdLCBwbGVhc2UgYXR0YWNoIDEwMDAgQmFsbGV0IFRva2VuIG9ubHkuAwkBAAAAAiE9AAAAAggFAAAABHBtdDEAAAAGYW1vdW50AAAAAAAAmJaACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAASWW91IGF0dGFjaGVkIG9ubHkgCQABpAAAAAEJAABrAAAAAwgFAAAABHBtdDEAAAAGYW1vdW50AAAAAAAAAAABAAAAAAAF9eEAAgAAAAEuCQABpAAAAAEJAABrAAAAAwgFAAAABHBtdDEAAAAGYW1vdW50AAAAAAAAAAABAAAAAAAAmJaAAgAAAEcgQmFsbGV0IGZvciBWb3RpbmcgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCAxMDAwIEJhbGxldCBUb2tlbiBvbmx5LgMJAQAAAAIhPQAAAAIIBQAAAARwbXQyAAAAB2Fzc2V0SWQFAAAADWFzc2V0aW5mb3BtdDIJAAACAAAAAQIAAABIQXNzZXQgU3RyaW5nIEF0dGFjaGVkIGluIEFTU0VUSUQxIGlzIG5vdCBtYXRjaGluZyB3aXRoIFBheW1lbnQyIEFzc2V0SUQuAwkAAAAAAAACBQAAAAJUTgYJAAACAAAAAQIAAABcWW91IEF0dGFjaGVkIFROIEFzc2V0IElEIGZvciBWb3RpbmcsIHBsZWFzZSBhdHRhY2ggdGhlIFRva2VuIFlvdSB3YW50IHRvIGxpc3QgaW4gcGF5bWVudFsyXS4DCQAAAAAAAAIIBQAAAARwbXQyAAAAB2Fzc2V0SWQFAAAADUJhbGxldEFzc2V0SUQJAAACAAAAAQIAAABuWW91IEF0dGFjaGVkIEJhbGxldCBhc3NldCBmb3IgVm90aW5nIGluIGJvdGggcGF5bWVudHMsIHBsZWFzZSBhdHRhY2ggdGhlIFRva2VuIFlvdSB3YW50IHRvIGxpc3QgaW4gcGF5bWVudFsyXS4DCQAAZwAAAAIAAAAAAAAAJw8FAAAADExpc3RpbmdQcmljZQkAAAIAAAABAgAAAGpMb3dlciBsaXN0aW5nIFByaWNlIGlzIEVudGVyZWQgcGVyIHRva2VuLCBwbGVhc2UgZW50ZXIgYXMgYSB2YWxpZCByYW5nZSBpbiBiZXR3ZWVuIHJhbmdlIFswLjAxIC0gMU1dIFVTRFQuAwkAAGYAAAACBQAAAAxMaXN0aW5nUHJpY2UAAAAA6NSlD/8JAAACAAAAAQIAAABrSGlnaGVyIGxpc3RpbmcgUHJpY2UgaXMgRW50ZXJlZCBwZXIgdG9rZW4sIHBsZWFzZSBlbnRlciBhcyBhIHZhbGlkIHJhbmdlIGluIGJldHdlZW4gcmFuZ2UgWzAuMDEgLSAxTV0gVVNEVC4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAACEFzc2V0SUQxBQAAAAhBc3NldElEMQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAhBc3NldElEMQUAAAAMdm90aW5nc3RhdHVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAFFZvdGluZ19TdGFydF9IZWlnaHRfBQAAAAhBc3NldElEMQUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAElZvdGluZ19FbmRfSGVpZ2h0XwUAAAAIQXNzZXRJRDEFAAAADHZvdGluZ0V4cGlyZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA5Wb3RpbmdfUGVyaW9kXwUAAAAIQXNzZXRJRDEFAAAADk5vT2ZEYXlzQmxvY2tzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAE1ZvdGluZ19MaXN0aW5nX0ZlZV8FAAAACEFzc2V0SUQxCAUAAAAEcG10MQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVxdWlyZWRfBQAAAAhBc3NldElEMQUAAAANdm90ZXNyZXF1aXJlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAAA9Wb3Rlc19SZWNlaXZlZF8FAAAACEFzc2V0SUQxAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVByaWNlX09mXwUAAAAIQXNzZXRJRDEFAAAADExpc3RpbmdQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABBSZXZlcnNlUHJpY2VfT2ZfBQAAAAhBc3NldElEMQUAAAAMcmV2ZXJzZXByaWNlCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACkZlZUFkZHJlc3MIBQAAAARwbXQxAAAABmFtb3VudAUAAAANQmFsbGV0QXNzZXRJRAUAAAADbmlsAAAAAWkBAAAAC0lzc3VlQmFsbGV0AAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADUJhbGxldEFzc2V0SUQBAAAAIC1vWwG5neVKbxqEaKeT7hMXlhgC7/FEdjB7WHX3k6igBAAAAA5QcmljZVBlckJhbGxldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAJQkFMTEVUL1ROBAAAAA9OZXdCYWxsZXRUb1VzZXIJAABrAAAAAwAAAAAAAAGGoAgFAAAAA3BtdAAAAAZhbW91bnQFAAAADlByaWNlUGVyQmFsbGV0BAAAABRQcmV2aW91c0lzc3VlZEJhbGxldAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAUVG90YWxfSXNzdWVkX0JhbGxldDoEAAAAEVRvdGFsSXNzdWVkQmFsbGV0CQAAZAAAAAIFAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0BQAAAA9OZXdCYWxsZXRUb1VzZXIEAAAAGlByZXZpb3VzQmFsbGV0UmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABtUb3RhbF9CYWxsZXRfUmVzZXJ2ZV9Jbl9UTjoEAAAAEkJhbGxldFJlc2VydmVWYWx1ZQkAAGQAAAACBQAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BAAAABFCYWxsZXRCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAABJCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEVRvdGFsSXNzdWVkQmFsbGV0BAAAAApGZWVBZGRyZXNzAQAAACDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwQAAAANRmVlUGVyY2VudGFnZQAAAAAAAAAAAQQAAAAbQmFsYW5jZVRva2Vuc1JldHVybmVkVG9Vc2VyCQAAZQAAAAIAAAAAAAAAAGQFAAAADUZlZVBlcmNlbnRhZ2UDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAK0luY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBUTi4DCQAAZgAAAAIAAAAAAABMS0AIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAANFBsZWFzZSBBdHRhY2ggbWluaW11bSAwLjA1IFROIFRvIElzc3VlIEJhbGxldCBBc3NldC4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BQAAABFUb3RhbElzc3VlZEJhbGxldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BQAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BQAAABFCYWxsZXRCYWNrdXBQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACg8aDE+QmFsbGV0IElzc3VlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAANQmFsbGV0QXNzZXRJRAUAAAAPTmV3QmFsbGV0VG9Vc2VyBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABpAAAAAgkAAGgAAAACBQAAAA9OZXdCYWxsZXRUb1VzZXIFAAAAG0JhbGFuY2VUb2tlbnNSZXR1cm5lZFRvVXNlcgAAAAAAAAAAZAUAAAANQmFsbGV0QXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAApGZWVBZGRyZXNzCQAAaQAAAAIJAABoAAAAAgUAAAAPTmV3QmFsbGV0VG9Vc2VyBQAAAA1GZWVQZXJjZW50YWdlAAAAAAAAAABkBQAAAA1CYWxsZXRBc3NldElEBQAAAANuaWwAAAABaQEAAAAJTGlxdWlkYXRlAAAAAAQAAAAKY3VycmVudEtleQkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAANQmFsbGV0QXNzZXRJRAEAAAAgLW9bAbmd5UpvGoRop5PuExeWGALv8UR2MHtYdfeTqKAEAAAAFFByZXZpb3VzSXNzdWVkQmFsbGV0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Jc3N1ZWRfQmFsbGV0OgQAAAARVG90YWxJc3N1ZWRCYWxsZXQJAABlAAAAAgUAAAAUUHJldmlvdXNJc3N1ZWRCYWxsZXQIBQAAAANwbXQAAAAGYW1vdW50BAAAABpQcmV2aW91c0JhbGxldFJlc2VydmVWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BAAAABlQcmV2aW91c0JhbGxldEJhY2t1cFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABpCYWxsZXRfQmFja3VwX1ZhbHVlX0luX1ROOgQAAAASY2FsY3VsYXRlYnVybnZhbHVlCQAAawAAAAMFAAAAGVByZXZpb3VzQmFsbGV0QmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAABlAAAAAgUAAAAaUHJldmlvdXNCYWxsZXRSZXNlcnZlVmFsdWUFAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQQAAAARQmFsbGV0QmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAASQmFsbGV0UmVzZXJ2ZVZhbHVlBQAAABFUb3RhbElzc3VlZEJhbGxldAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAANQmFsbGV0QXNzZXRJRAkAAAIAAAABAgAAAEpLaW5kbHkgRGVwb3NpdCBPbmx5IDQ0TXE4S3FVaE05NHQ5M01pQnEzUzIyaWl1R2N6TXhwS21zZTVkQnkydzV5IChCYWxsZXQpLgMJAABmAAAAAgAAAAAAAAGGoAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAwQXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLjAwMSBCYWxsZXQuCQAETAAAAAIJAQAAAARCdXJuAAAAAgUAAAANQmFsbGV0QXNzZXRJRAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX0lzc3VlZF9CYWxsZXQ6BQAAABFUb3RhbElzc3VlZEJhbGxldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAbVG90YWxfQmFsbGV0X1Jlc2VydmVfSW5fVE46BQAAABJCYWxsZXRSZXNlcnZlVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGkJhbGxldF9CYWNrdXBfVmFsdWVfSW5fVE46BQAAABFCYWxsZXRCYWNrdXBQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACw8aDE+QmFsbGV0IExpcXVpZGF0ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+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AAASVm90aW5nX0VuZF9IZWlnaHRfBQAAAAxFbnRlckFzc2V0SUQEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAQAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlCQAAZQAAAAIFAAAAGGNoZWNrcHJvamVjdGV4cGlyZWhlaWdodAUAAAAGaGVpZ2h0AwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAJVBhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBWb3RpbmcgTGlzdC4DCQAAZgAAAAIFAAAAGGNoZWNrcHJvamVjdGV4cGlyZWhlaWdodAUAAAAGaGVpZ2h0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAFRWb3RpbmcgQWxyZWFkeSBSdW5uaW5nLiBZb3UgY2FuIHdpdGhkcmF3IHlvdXIgQmFsbGV0IFRva2VuIG9ubHkgYWZ0ZXIgdGhlIGV4cGlyZSBvZiAJAAGkAAAAAQUAAAAdcGVuZGluZ2Jsb2Nrc2ZvcnByb2plY3RleHBpcmUCAAAAByBCbG9ja3MDCQAAZwAAAAIAAAAAAAAAAAAFAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UJAAACAAAAAQIAAAA+WW91IGRvbid0IGhhdmUgYW55IGR1ZXMgb2YgYmFsbGV0IGJhbGFuY2UgaW4gdGhpcyBWb3RpbmcgUGFpci4DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAUURvbid0IGF0dGFjaCBhbnkgb3RoZXIgYXNzZXQuIFBsZWFzZSBhdHRhY2ggMC4xIFROIGFzIGEgZmVlIHRvIHJlbGVhc2UgeW91ciB0b2tlbgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAmJaACQAAAgAAAAECAAAANFBsZWFzZSBhdHRhY2ggMC4xIFROIGFzIGEgZmVlIHRvIHJlbGVhc2UgeW91ciB0b2tlbi4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD1ZvdGVzX1JlY2VpdmVkXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAAMRW50ZXJBc3NldElEAAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAWY2hlY2t1c2Vydm90aW5nYmFsYW5jZQUAAAANQmFsbGV0QXNzZXRJRAUAAAADbmlsAAAAAWkBAAAAGFN3YXBBc3NldFRvVVNEVFBhaXJFbnRyeQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAADpXaGl0ZWxpc3RlZCBTd2FwIFRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnRbMV0uBAAAAAtVU0RUQXNzZXRJRAEAAAAgCGWEtw/wimoa8+Jo6C4IkCTD0ydYA80s9i5eC9/aFaQEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJQYWlyX1VuZGVyX1ZvdGluZ18FAAAADEVudGVyQXNzZXRJRAQAAAAMVm90aW5nU3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADlZvdGluZ19TdGF0dXNfBQAAAAxFbnRlckFzc2V0SUQEAAAAEENoZWNrVVNEVEJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQEAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAIAAAABXwUAAAAMRW50ZXJBc3NldElEBAAAABBuZXdiYWxhbmNlb2ZVU0RUCQAAawAAAAMFAAAAEENoZWNrVVNEVEJhbGFuY2UFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQAAZAAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQJAABlAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAAQbmV3YmFsYW5jZW9mVVNEVAQAAAATQ3VycmVudFZvdGluZ1N0YXR1cwIAAAAERmFpbAQAAAAHU3dhcEZlZQAAAAAAAAAAAQQAAAAOU3dhcEZlZUFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjBAAAABBTd2FwRmVldG9yZWNlaXZlCQAAaQAAAAIJAABoAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAB1N3YXBGZWUAAAAAAAAAAGQEAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQAAZQAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABBTd2FwRmVldG9yZWNlaXZlBAAAABlTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABxOZXdTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlCQAAZAAAAAIFAAAAGVN1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAEVN1bXVwQXNzZXRCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkAAGQAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEFN1bXVwVVNEVEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVOZXdTdW11cG9mVVNEVEJhbGFuY2UJAABlAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQEAAAAD1N1bXVwb2ZTd2FwVHhucwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABNUb3RhbF9vZl9Td2Fwc19UeG5zAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEk5ld1N1bXVwb2ZTd2FwVHhucwkAAGQAAAACBQAAAA9TdW11cG9mU3dhcFR4bnMAAAAAAAAAAAEDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAFNZb3UgY2FuJ3QgQXR0YWNoIFVTRFQgYXMgYW4gQXR0YWNoZWQgUGF5bWVudC4gT25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgYXJlIGFjY2VwdGVkLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACAgAAADBJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggb3Igc2VuZCAFAAAADEVudGVyQXNzZXRJRAMJAABmAAAAAgAAAAAAAAAnEAUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAANFlvdXIgQXR0YWNoZWQgQXNzZXQgQW1vdW50IGlzIHZlcnkgbG93LiBBdHRhY2ggTW9yZSAFAAAADEVudGVyQXNzZXRJRAIAAAA2IFRva2VucyB0byBDbGFpbSB0aGUgbWluaW11bSBBbW91bnQgb2YgMSBjZW50IGF0bGVhc3QuAwkAAAAAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlAAAAAAAAAAAACQAAAgAAAAECAAAAZVN3YXAgUGFpciBOZWVkIHRvIEFkZCBMaXF1aWRpdHkgZmlyc3QgaW50byBQb29sLiBPbmx5IEFmdGVyIHRoYXQgUGFpciB3aWxsIGJlIGFjdGl2YXRlZCBmb3IgU3dhcHBpbmcuAwkAAAAAAAACBQAAABFDaGVja0Fzc2V0QmFs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AABlAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UFAAAAEW5ld2JhbGFuY2VvZkFzc2V0BAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAxFbnRlckFzc2V0SUQEAAAADFZvdGluZ1N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBAAAABNDdXJyZW50Vm90aW5nU3RhdHVzAgAAAARGYWlsBAAAAAdTd2FwRmVlAAAAAAAAAAABBAAAABBTd2FwRmVldG9yZWNlaXZlCQAAaQAAAAIJAABoAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAB1N3YXBGZWUAAAAAAAAAAGQEAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQAAZQAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABBTd2FwRmVldG9yZWNlaXZlAwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAK1BhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBXaGl0ZWxpc3RlZCBBc3NldC4DCQAAAAAAAAIFAAAADFZvdGluZ1N0YXR1cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAgIGlzIG5vdCBBIFdoaXRlbGlzdGVkIFRva2VuIFlldC4DCQAAAAAAAAIFAAAADEVudGVyQXNzZXRJRAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAHtJbnB1dCBjYW4gTmV2ZXIgYmUgYSBVU0RUIEFzc2V0SUQuIEVudGVyIFdoaXRlbGlzdGVkIEFzc2V0SUQgaW4gaW5wdXQgYW5kIEF0dGFjaCBVU0RUIGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsxXS4DCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAfllvdSBjYW4gQXR0YWNoIFVTRFQgYXMgYW4gQXR0YWNoZWQgUGF5bWVudFsxXSB0byBTd2FwIFVTRFQgVG8gUmVxdWlyZWQgVG9rZW4uIEFueSBvdGhlciBhc3NldCBlbHNlIHRoYW4gVVNEVCB3aWxsIGJlIHJlamVjdGVkLgMJAABmAAAAAgAAAAAAAA9CQAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAABZWW91ciBBdHRhY2hlZCBVU0RUIEFtb3VudCBpcyB2ZXJ5IGxvdy4gQXR0YWNoIEF0bGVhc3QgMSBVU0RUIHRvIENsYWltIHRoZSBtaW5pbXVtIFRva2Vucy4DCQAAAAAAAAIFAAAAEENoZWNrVVNEVEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAAAAAAAIFAAAAEUNoZWNrQXNzZXRCYWxhbmNlAAAAAAAAAAAACQAAAgAAAAECAAAAZVN3YXAgUGFpciBOZWVkIHRvIEFkZCBMaXF1aWRpdHkgZmlyc3QgaW50byBQb29sLiBPbmx5IEFmdGVyIHRoYXQgUGFpciB3aWxsIGJlIGFjdGl2YXRlZCBmb3IgU3dhcHBpbmcuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8FAAAADEVudGVyQXNzZXRJRAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEFN3YXBGZWV0b3JlY2VpdmUJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElEBQAAAANuaWwAAAABaQEAAAAMQWRkTGlxdWlkaXR5AAAAAQAAAAxFbnRlckFzc2V0SUQEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEcG10MQkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAEcG10MgkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAALVVNEVEFzc2V0SUQBAAAAIAhlhLcP8IpqGvPiaOguCJAkw9MnWAPNLPYuXgvf2hWkBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAxFbnRlckFzc2V0SUQEAAAADFZvdGluZ1N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElEBAAAAA5DaGVja1BhaXJQcmljZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAlQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAQAAAAVQ2hlY2tSZXZlcnNlUGFpclByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEFJldmVyc2VQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAQAAAASQ2hlY2tBc3NldERlY2ltYWxzCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAADERlY2ltYWxzX29mXwUAAAAMRW50ZXJBc3NldElEBAAAABNDdXJyZW50Vm90aW5nU3RhdHVzAgAAAARGYWlsBAAAAA9BZGRMaXF1aWRpdHlGZWUAAAAAAAABhqAEAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMFAAAAEkNoZWNrQXNzZXREZWNpbWFscwQAAAALZGVjaW1hbHNnYXAJAABlAAAAAgkAAGUAAAACAAAAAAAAAAAGBQAAABNhbW91bnRBc3NldERlY2ltYWxzAAAAAAAAAAAIBAAAABZxdWFudGl0eW9mRW50ZXJBc3NldElECQAAaAAAAAIJAABpAAAAAgkAAGkAAAACCQAAaAAAAAIIBQAAAARwbXQxAAAABmFtb3VudAUAAAAVQ2hlY2tSZXZlcnNlUGFpclByaWNlCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAlVQCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAAC2RlY2ltYWxzZ2FwAAAAAAAAAAAAAAAAAAAAAAAABQAAAAJVUAkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAABQAAABNhbW91bnRBc3NldERlY2ltYWxzAAAAAAAAAAAAAAAAAAAAAAAABQAAAAJVUAQAAAAcY2hlY2twb2ludFRvVmVyaWZ5Qm90aFByaWNlcwkAAGsAAAADAAAAAAAAAAABAAAAAOjUpRAABQAAAA5DaGVja1BhaXJQcmljZQQAAAARVVNEVEhvbGRpbmdJblBhaXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABROZXdVU0RUSG9sZGluZ0luUGFpcgkAAGQAAAACBQAAABFVU0RUSG9sZGluZ0luUGFpcggFAAAABHBtdDEAAAAGYW1vdW50BAAAABJBc3NldEhvbGRpbmdJblBhaXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVOZXdBc3NldEhvbGRpbmdJblBhaXIJAABkAAAAAgUAAAASQXNzZXRIb2xkaW5nSW5QYWlyCAUAAAAEcG10MgAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAgUAAAAMRW50ZXJBc3NldElECQACWAAAAAEFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAlElucHV0IGNhbiBOZXZlciBiZSBhIFVTRFQgQXNzZXRJRC4gRW50ZXIgV2hpdGVsaXN0ZWQgQXNzZXRJRCBpbiBpbnB1dCBhcyB3ZWxsIGFzIGluIHBheW1lbnRbMV0gYW5kIEF0dGFjaCBVU0RUIGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsyXS4DCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAAi1R3byBhdHRhY2hlZCBhc3NldHMgZXhwZWN0ZWQgYXMgcGF5bWVudCBpbiA1MCUtNTAlLiBLaW5kbHkgQXR0YWNoIHBheW1lbnQxID0gVVNEVCBUb2tlbiBhbmQgcGF5bWVudDIgPSBUb2tlbiB5b3Ugd2FudCB0byBhZGQgZm9yIExpcXVpZGl0eS4DCQEAAAACIT0AAAACCAUAAAAEcG10MQAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAFRJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQgZm9yIExpcXVpZGl0eSBpbiBwYXltZW50WzFdLCBwbGVhc2UgYXR0YWNoIFVTRFQgVG9rZW4gb25seS4DCQAAZgAAAAIAAAAAAACYloAIBQAAAARwbXQxAAAABmFtb3VudAkAAAIAAAABAgAAACxwbGVhc2UgYXR0YWNoIGF0bGVhc3QgMTAgVVNEVCBpbiBwYXltZW50WzFdLgMJAAAAAAAAAggFAAAABHBtdDIAAAAHYXNzZXRJZAUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAACPWW91IEF0dGFjaGVkIFVTRFQgYXNzZXQgZm9yIExpcXVpZGl0eSBpbiBib3RoIHBheW1lbnRzLCBLaW5kbHkgQXR0YWNoIHBheW1lbnQxID0gVVNEVCBUb2tlbiBhbmQgcGF5bWVudDIgPSBUb2tlbiB5b3Ugd2FudCB0byBhZGQgZm9yIExpcXVpZGl0eS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAdhc3NldElkCQACWQAAAAEFAAAADEVudGVyQXNzZXRJRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAANQXNzZXQgU3RyaW5nIAUAAAAMRW50ZXJBc3NldElEAgAAAE4gaXMgbm90IG1hdGNoaW5nIHdpdGggYXR0YWNoZWQgcGF5bWVudFsyXS4gU3RyaW5nIGFuZCBwYXltZW50WzJdIG11c3QgYmUgc2FtZS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAZhbW91bnQFAAAAFnF1YW50aXR5b2ZFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACAgAAAFhBdHRhY2hlZCBwYXltZW50WzJdIHF1YW50aXR5IGlzIG5vdCBtYXRjaGluZyBhcyBwZXIgYXR0YWNoZWQgcGF5bWVudFsxXSBVU0RULkl0IG11c3QgYmUgCQABpAAAAAEFAAAAFnF1YW50aXR5b2ZFbnRlckFzc2V0SUQDCQEAAAACIT0AAAACBQAAABVDaGVja1JldmVyc2VQYWlyUHJpY2UFAAAAHGNoZWNrcG9pbnRUb1ZlcmlmeUJvdGhQcmljZXMJAAACAAAAAQIAAAA/UHJpY2UgYW5kIFJldmVyc2UgUHJpY2UgYXJlIE1pc21hdGNoZWQgb3IgbWFuaXB1bGF0ZWQgbWFudWFsbHkuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVByaWNlX09mXwUAAAAMRW50ZXJBc3NldElEBQAAAA5DaGVja1BhaXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABBSZXZlcnNlUHJpY2VfT2ZfBQAAAAxFbnRlckFzc2V0SUQFAAAAFUNoZWNrUmV2ZXJzZVBhaXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAUAAAAUTmV3VVNEVEhvbGRpbmdJblBhaXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQFAAAAFU5ld0Fzc2V0SG9sZGluZ0luUGFpcgUAAAADbmlsAAAAAWkBAAAAD1JlbW92ZVBhaXJFbnRyeQAAAAEAAAAMRW50ZXJBc3NldElEBAAAAAthZG1pbnJpZ2h0cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAAVUG9sYXJpdHlfQWRtaW5fUmlnaHRzBAAAAAtVU0RUQXNzZXRJRAEAAAAgCGWEtw/wimoa8+Jo6C4IkCTD0ydYA80s9i5eC9/aFaQEAAAAGGNoZWNrcHJvamVjdGV4cGlyZWhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAABJWb3RpbmdfRW5kX0hlaWdodF8FAAAADEVudGVyQXNzZXRJRAQAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAElBhaXJfVW5kZXJfVm90aW5nXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAAPTmV3Vm90aW5nU3RhdHVzAgAAAARQYXNzBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRoZWlnaHQFAAAABmhlaWdodAQAAAAdcGVuZGluZ2Jsb2Nrc2ZvcnByb2plY3RleHBpcmUJAABlAAAAAgUAAAAYY2hlY2twcm9qZWN0ZXhwaXJlaGVpZ2h0BQAAAAZoZWlnaHQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAAlUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFZvdGluZyBMaXN0LgMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAfIGhhcyByaWdodHMgdG8gcmVtb3ZlIHRoZSBwYWlyLgMJAABmAAAAAgUAAAAYY2hlY2twcm9qZWN0ZXhwaXJlaGVpZ2h0BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAANlZvdGluZyBBbHJlYWR5IFJ1bm5pbmcuIFlvdSBjYW4gcmVtb3ZlIHRoZSBwYWlyIGFmdGVyIAkAAaQAAAABBQAAAB1wZW5kaW5nYmxvY2tzZm9ycHJvamVjdGV4cGlyZQIAAAAHIEJsb2NrcwMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAAA9OZXdWb3RpbmdTdGF0dXMJAAACAAAAAQkAASwAAAACBQAAAAxFbnRlckFzc2V0SUQCAAAALCBpcyBub3cgV2hpdGVsaXN0ZWQuIFNvIHlvdSBjYW4ndCByZW1vdmUgaXQuCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAASUGFpcl9VbmRlcl9Wb3RpbmdfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABRWb3RpbmdfU3RhcnRfSGVpZ2h0XwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAASVm90aW5nX0VuZF9IZWlnaHRfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAA5Wb3RpbmdfUGVyaW9kXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAPVm90ZXNfUmVxdWlyZWRfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAABNWb3RpbmdfTGlzdGluZ19GZWVfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAA5Wb3RpbmdfU3RhdHVzXwUAAAAMRW50ZXJBc3NldElECQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAAPVm90ZXNfUmVjZWl2ZWRfBQAAAAxFbnRlckFzc2V0SUQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACAgAAAAlQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAICAAAAEFJldmVyc2VQcmljZV9PZl8FAAAADEVudGVyQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAAC1JlbW92ZUVudHJ5AAAABAAAAANLZXkAAAAES2V5MQAAAARLZXkyAAAABEtleTMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAADS2V5CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABEtleTEJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAES2V5MgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAARLZXkzBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXlaWSef", "height": 1675161, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Eg1w1FTws659yBX4RsBs5BwPBtWfBE4d9nQ2r8HD7oPt Next: 5jP2nSUuKvbYiFwkrwoJE9ekH165h5J6UEYBAXaSmvbB Diff:
OldNewDifferences
200200 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
201201 let L = getString(this, ("Pair_Under_Voting_" + H))
202202 let O = getStringValue(this, ("Voting_Status_" + H))
203- let af = getIntegerValue(this, ("Price_Of_" + H))
204- let ag = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
205- let ah = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
206- let ai = fraction(ag, ah, (ah + v.amount))
207- let aj = (ag - ai)
208- let ak = getIntegerValue(this, ("Decimals_of_" + H))
209- let al = "Fail"
210- let am = 1
211- let an = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
212- let ao = ak
213- let ap = 6
214- let aq = ((6 - ao) - 8)
215- let ar = ((aj * am) / 100)
216- let as = (aj - ar)
217- let at = {
203+ let af = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
204+ let ag = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
205+ let ah = fraction(af, ag, (ag + v.amount))
206+ let ai = (af - ah)
207+ let aj = "Fail"
208+ let ak = 1
209+ let al = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
210+ let am = ((ai * ak) / 100)
211+ let an = (ai - am)
212+ let ao = {
218213 let Q = getInteger(this, ("Total_Swap_Fee_Collected_" + toBase58String(j)))
219214 if ($isInstanceOf(Q, "Int"))
220215 then {
223218 }
224219 else 0
225220 }
226- let au = (at + ar)
227- let av = {
221+ let ap = (ao + am)
222+ let aq = {
228223 let Q = getInteger(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
229224 if ($isInstanceOf(Q, "Int"))
230225 then {
233228 }
234229 else 0
235230 }
236- let aw = (ah + v.amount)
237- let ax = {
231+ let ar = (ag + v.amount)
232+ let as = {
238233 let Q = getInteger(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
239234 if ($isInstanceOf(Q, "Int"))
240235 then {
243238 }
244239 else 0
245240 }
246- let ay = (ag - aj)
247- let az = {
241+ let at = (af - ai)
242+ let au = {
248243 let Q = getInteger(this, "Total_of_Swaps_Txns")
249244 if ($isInstanceOf(Q, "Int"))
250245 then {
253248 }
254249 else 0
255250 }
256- let aA = (az + 1)
251+ let av = (au + 1)
257252 if ((L != H))
258253 then throw("Pair is not available in Whitelisted Asset.")
259- else if ((O == al))
254+ else if ((O == aj))
260255 then throw((H + " is not A Whitelisted Token Yet."))
261256 else if ((v.assetId == j))
262257 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
263258 else if ((v.assetId != fromBase58String(H)))
264259 then throw(("Incorrect asset attached, please attach or send " + H))
265- else if ((10000 > aj))
260+ else if ((10000 > ai))
266261 then throw((("Your Attached Asset Amount is very low. Attach More " + H) + " Tokens to Claim the minimum Amount of 1 cent atleast."))
267- else if ((ag == 0))
262+ else if ((af == 0))
268263 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
269- else if ((ah == 0))
264+ else if ((ag == 0))
270265 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
271- else if ((aj > ag))
272- then throw((("Pool Only has a Liquidity of " + toString((ag / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
273- else [IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), au), IntegerEntry("Total_of_Swaps_Txns", aA), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aw), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), ay), ScriptTransfer(a.caller, as, j), ScriptTransfer(an, ar, j)]
266+ else if ((ai > af))
267+ then throw((("Pool Only has a Liquidity of " + toString((af / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
268+ else [IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), ap), IntegerEntry("Total_of_Swaps_Txns", av), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), ar), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), at), ScriptTransfer(a.caller, an, j), ScriptTransfer(al, am, j)]
274269 }
275270
276271
282277 then a.payments[0]
283278 else throw("Only USDT Token is required as an Attached payment[1].")
284279 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
280+ let af = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
281+ let ag = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
282+ let aw = fraction(af, ag, (af + v.amount))
283+ let ai = (ag - aw)
285284 let L = getString(this, ("Pair_Under_Voting_" + H))
286285 let O = getStringValue(this, ("Voting_Status_" + H))
287- let aB = getIntegerValue(this, ("ReversePrice_Of_" + H))
288- let ak = getIntegerValue(this, ("Decimals_of_" + H))
289- let al = "Fail"
290- let aC = 1
291- let ao = ak
292- let ap = 6
293- let aq = ((6 - ao) - 8)
294- let aj = ((((v.amount * aB) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aq, 0, 0, UP)) * pow(10, 0, ao, 0, 0, UP))
295- let aD = assetBalance(this, fromBase58String(H))
296- let aE = (aD - aj)
286+ let aj = "Fail"
287+ let ak = 1
288+ let am = ((ai * ak) / 100)
289+ let an = (ai - am)
297290 if ((L != H))
298291 then throw("Pair is not available in Whitelisted Asset.")
299- else if ((O == al))
292+ else if ((O == aj))
300293 then throw((H + " is not A Whitelisted Token Yet."))
301294 else if ((H == toBase58String(j)))
302295 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input and Attach USDT as an attachment Token in payment[1].")
304297 then throw("You can Attach USDT as an Attached Payment[1] to Swap USDT To Required Token. Any other asset else than USDT will be rejected.")
305298 else if ((1000000 > v.amount))
306299 then throw("Your Attached USDT Amount is very low. Attach Atleast 1 USDT to Claim the minimum Tokens.")
307- else [IntegerEntry(("ReversePrice_Of_" + H), aB), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((aj * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((aj * aC) / 100), fromBase58String(H))]
300+ else if ((af == 0))
301+ then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
302+ else if ((ag == 0))
303+ then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
304+ else [IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, an, fromBase58String(H)), ScriptTransfer(a.caller, am, fromBase58String(H))]
308305 }
309306
310307
317314 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
318315 let L = getString(this, ("Pair_Under_Voting_" + H))
319316 let O = getStringValue(this, ("Voting_Status_" + H))
320- let af = getIntegerValue(this, ("Price_Of_" + H))
321- let aB = getIntegerValue(this, ("ReversePrice_Of_" + H))
322- let ak = getIntegerValue(this, ("Decimals_of_" + H))
323- let al = "Fail"
324- let aF = 100000
325- let ao = ak
326- let aq = ((6 - ao) - 8)
327- let aG = ((((e.amount * aB) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aq, 0, 0, UP)) * pow(10, 0, ao, 0, 0, UP))
328- let aH = fraction(1, 1000000000000, af)
329- let aI = {
317+ let ax = getIntegerValue(this, ("Price_Of_" + H))
318+ let ay = getIntegerValue(this, ("ReversePrice_Of_" + H))
319+ let az = getIntegerValue(this, ("Decimals_of_" + H))
320+ let aj = "Fail"
321+ let aA = 100000
322+ let aB = az
323+ let aC = ((6 - aB) - 8)
324+ let aD = ((((e.amount * ay) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aC, 0, 0, UP)) * pow(10, 0, aB, 0, 0, UP))
325+ let aE = fraction(1, 1000000000000, ax)
326+ let aF = {
330327 let Q = getInteger(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
331328 if ($isInstanceOf(Q, "Int"))
332329 then {
335332 }
336333 else 0
337334 }
338- let aJ = (aI + e.amount)
339- let aK = {
335+ let aG = (aF + e.amount)
336+ let aH = {
340337 let Q = getInteger(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
341338 if ($isInstanceOf(Q, "Int"))
342339 then {
345342 }
346343 else 0
347344 }
348- let aL = (aK + f.amount)
345+ let aI = (aH + f.amount)
349346 if ((L != H))
350347 then throw("Pair is not available in Whitelisted Asset.")
351- else if ((O == al))
348+ else if ((O == aj))
352349 then throw((H + " is not A Whitelisted Token Yet."))
353350 else if ((H == toBase58String(j)))
354351 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input as well as in payment[1] and Attach USDT as an attachment Token in payment[2].")
362359 then throw("You Attached USDT asset for Liquidity in both payments, Kindly Attach payment1 = USDT Token and payment2 = Token you want to add for Liquidity.")
363360 else if ((f.assetId != fromBase58String(H)))
364361 then throw((("Asset String " + H) + " is not matching with attached payment[2]. String and payment[2] must be same."))
365- else if ((f.amount != aG))
366- then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aG)))
367- else if ((aB != aH))
362+ else if ((f.amount != aD))
363+ then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aD)))
364+ else if ((ay != aE))
368365 then throw("Price and Reverse Price are Mismatched or manipulated manually.")
369- else [IntegerEntry(("Price_Of_" + H), af), IntegerEntry(("ReversePrice_Of_" + H), aB), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), aJ), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aL)]
366+ else [IntegerEntry(("Price_Of_" + H), ax), IntegerEntry(("ReversePrice_Of_" + H), ay), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), aG), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aI)]
370367 }
371368
372369
373370
374371 @Callable(a)
375372 func RemovePairEntry (H) = {
376- let aM = getStringValue(this, "Polarity_Admin_Rights")
373+ let aJ = getStringValue(this, "Polarity_Admin_Rights")
377374 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
378375 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
379376 let L = getString(this, ("Pair_Under_Voting_" + H))
380377 let O = getStringValue(this, ("Voting_Status_" + H))
381378 let J = "Pass"
382379 let I = toBase58String(a.caller.bytes)
383- let aN = height
380+ let aK = height
384381 let ae = (K - height)
385382 if ((L != H))
386383 then throw("Pair is not available in Voting List.")
387- else if ((aM != I))
388- then throw((("I know You are not An Admin. Only " + aM) + " has rights to remove the pair."))
384+ else if ((aJ != I))
385+ then throw((("I know You are not An Admin. Only " + aJ) + " has rights to remove the pair."))
389386 else if ((K > height))
390387 then throw((("Voting Already Running. You can remove the pair after " + toString(ae)) + " Blocks"))
391388 else if ((O == J))
396393
397394
398395 @Callable(a)
399-func RemoveEntry (aO,aP,aQ,aR) = [DeleteEntry(aO), DeleteEntry(aP), DeleteEntry(aQ), DeleteEntry(aR)]
396+func RemoveEntry (aL,aM,aN,aO) = [DeleteEntry(aL), DeleteEntry(aM), DeleteEntry(aN), DeleteEntry(aO)]
400397
401398
402-@Verifier(aS)
403-func aT () = {
404- let Q = aS
405- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
399+@Verifier(aP)
400+func aQ () = {
401+ let Q = aP
402+ sigVerify(aP.bodyBytes, aP.proofs[0], aP.senderPublicKey)
406403 }
407404
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(a)
77 func RegisterPairForVoting (b,c,d) = {
88 let e = value(a.payments[0])
99 let f = value(a.payments[1])
1010 let g = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
1111 let h = 90
1212 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
1313 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
1414 let k = toBase58String(a.caller.bytes)
1515 let l = !(isDefined(f.assetId))
1616 let m = 1440
1717 let n = (m * c)
1818 let o = (n - 43199)
1919 let p = ((100000 + ((11574 * o) / 10000)) * 100000000)
2020 let q = (height + n)
2121 let r = getString(this, ("Pair_Under_Voting_" + b))
2222 let s = "Fail"
2323 let t = fromBase58String(b)
2424 let u = fraction(1, 1000000000000, d)
2525 if ((43 > size(b)))
2626 then throw("Wrong AssetID1 is Entered for Voting. Please Enter a Valid AssetID1. Probably you entered an ASSETID1 less than 43 Chars.")
2727 else if ((29 >= c))
2828 then throw("Enter no. of days in between 30 to 90.")
2929 else if ((c > h))
3030 then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.")
3131 else if ((r == b))
3232 then throw("Pair Already Exist in Voting List.")
3333 else if ((size(a.payments) != 2))
3434 then throw("Two attached assets expected as payment. Kindly Attach payment1 = Ballet Token and payment2 = Token you want to add to List for Voting.")
3535 else if ((e.assetId != i))
3636 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 Ballet Token only.")
3737 else if ((e.amount != 10000000))
3838 then throw((((("You attached only " + toString(fraction(e.amount, 1, 100000000))) + ".") + toString(fraction(e.amount, 1, 10000000))) + " Ballet for Voting in payment[1], please attach 1000 Ballet Token only."))
3939 else if ((f.assetId != t))
4040 then throw("Asset String Attached in ASSETID1 is not matching with Payment2 AssetID.")
4141 else if ((l == true))
4242 then throw("You Attached TN Asset ID for Voting, please attach the Token You want to list in payment[2].")
4343 else if ((f.assetId == i))
4444 then throw("You Attached Ballet asset for Voting in both payments, please attach the Token You want to list in payment[2].")
4545 else if ((9999 >= d))
4646 then throw("Lower listing Price is Entered per token, please enter as a valid range in between range [0.01 - 1M] USDT.")
4747 else if ((d > 999999999999))
4848 then throw("Higher listing Price is Entered per token, please enter as a valid range in between range [0.01 - 1M] USDT.")
4949 else [StringEntry(("Pair_Under_Voting_" + b), b), StringEntry(("Voting_Status_" + b), s), IntegerEntry(("Voting_Start_Height_" + b), height), IntegerEntry(("Voting_End_Height_" + b), q), IntegerEntry(("Voting_Period_" + b), n), IntegerEntry(("Voting_Listing_Fee_" + b), e.amount), IntegerEntry(("Votes_Required_" + b), p), IntegerEntry(("Votes_Received_" + b), 0), IntegerEntry(("Price_Of_" + b), d), IntegerEntry(("ReversePrice_Of_" + b), u), ScriptTransfer(addressFromPublicKey(g), e.amount, i)]
5050 }
5151
5252
5353
5454 @Callable(a)
5555 func IssueBallet () = {
5656 let v = value(a.payments[0])
5757 let k = toBase58String(a.caller.bytes)
5858 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
5959 let w = getIntegerValue(this, "BALLET/TN")
6060 let x = fraction(100000, v.amount, w)
6161 let y = getIntegerValue(this, "Total_Issued_Ballet:")
6262 let z = (y + x)
6363 let A = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
6464 let B = (A + v.amount)
6565 let C = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
6666 let D = fraction(100000, B, z)
6767 let g = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr'
6868 let E = 1
6969 let F = (100 - E)
7070 if (isDefined(v.assetId))
7171 then throw("Incorrect asset attached, please attach TN.")
7272 else if ((5000000 > v.amount))
7373 then throw("Please Attach minimum 0.05 TN To Issue Ballet Asset.")
7474 else [IntegerEntry("Total_Issued_Ballet:", z), IntegerEntry("Total_Ballet_Reserve_In_TN:", B), IntegerEntry("Ballet_Backup_Value_In_TN:", D), StringEntry("message", "<h1>Ballet Issued Successfully!</h1><br>"), Reissue(i, x, true), ScriptTransfer(a.caller, ((x * F) / 100), i), ScriptTransfer(addressFromPublicKey(g), ((x * E) / 100), i)]
7575 }
7676
7777
7878
7979 @Callable(a)
8080 func Liquidate () = {
8181 let k = toBase58String(a.callerPublicKey)
8282 let v = value(a.payments[0])
8383 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
8484 let y = getIntegerValue(this, "Total_Issued_Ballet:")
8585 let z = (y - v.amount)
8686 let A = getIntegerValue(this, "Total_Ballet_Reserve_In_TN:")
8787 let C = getIntegerValue(this, "Ballet_Backup_Value_In_TN:")
8888 let G = fraction(C, v.amount, 100000)
8989 let B = (A - G)
9090 let D = fraction(100000, B, z)
9191 if ((v.assetId != i))
9292 then throw("Kindly Deposit Only 44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y (Ballet).")
9393 else if ((100000 > v.amount))
9494 then throw("Attach Amount must be greater than 0.001 Ballet.")
9595 else [Burn(i, v.amount), IntegerEntry("Total_Issued_Ballet:", z), IntegerEntry("Total_Ballet_Reserve_In_TN:", B), IntegerEntry("Ballet_Backup_Value_In_TN:", D), StringEntry("message", "<h1>Ballet Liquidated Successfully!</h1><br>"), ScriptTransfer(a.caller, G, unit)]
9696 }
9797
9898
9999
100100 @Callable(a)
101101 func DoVoting (H) = {
102102 let v = if ((size(a.payments) == 1))
103103 then a.payments[0]
104104 else throw("Ballet Token is required as Attached payment")
105105 let I = toBase58String(a.caller.bytes)
106106 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
107107 let J = "Pass"
108108 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
109109 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
110110 let L = getString(this, ("Pair_Under_Voting_" + H))
111111 let M = getIntegerValue(this, ("Votes_Required_" + H))
112112 let N = getIntegerValue(this, ("Votes_Received_" + H))
113113 let O = getStringValue(this, ("Voting_Status_" + H))
114114 let P = {
115115 let Q = getInteger(this, ("Votes_Received_" + H))
116116 if ($isInstanceOf(Q, "Int"))
117117 then {
118118 let R = Q
119119 R
120120 }
121121 else 0
122122 }
123123 let S = (P + v.amount)
124124 let T = {
125125 let Q = getInteger(this, ((("Votes_Received_" + I) + "_") + H))
126126 if ($isInstanceOf(Q, "Int"))
127127 then {
128128 let U = Q
129129 U
130130 }
131131 else 0
132132 }
133133 let V = (T + v.amount)
134134 let W = (N >= M)
135135 let X = valueOrErrorMessage(assetInfo(fromBase58String(H)), (("Asset " + H) + " doesn't exist"))
136136 let Y = X.decimals
137137 if ((L != H))
138138 then throw("Pair is not available in Voting List.")
139139 else if ((height > K))
140140 then throw((("Voting timeline for " + H) + " is expired."))
141141 else if ((v.assetId != i))
142142 then throw((("Kindly Attach Only " + toBase58String(i)) + " (Ballet)."))
143143 else if ((O == J))
144144 then throw((("Voting for " + H) + " pair is completed and it’s available in whitelist."))
145145 else if (W)
146146 then [StringEntry(("Voting_Status_" + H), J), IntegerEntry(("Decimals_of_" + H), Y), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), 0), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), 0), IntegerEntry(("Total_of_pair_Txns_" + H), 0), IntegerEntry("Total_of_Swaps_Txns", 0), IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), 0), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0)]
147147 else [IntegerEntry(("Votes_Received_" + H), S), IntegerEntry(((("Votes_Received_" + I) + "_") + H), V)]
148148 }
149149
150150
151151
152152 @Callable(a)
153153 func IssueLPToken (H) = {
154154 let X = valueOrErrorMessage(assetInfo(fromBase58String(H)), (("Asset " + H) + " doesn't exist"))
155155 let Z = X.name
156156 let aa = Issue(("LP_" + take(Z, 6)), ((("LP_" + take(Z, 6)) + " is a Liquidity Provider Token Issued Against ") + H), 1, 0, true)
157157 let ab = calculateAssetId(aa)
158158 let ac = getStringValue(this, ("LP_" + H))
159159 let O = getStringValue(this, ("Voting_Status_" + H))
160160 let J = "Pass"
161161 if (isDefined(ac))
162162 then throw("LP Token Already Exist.")
163163 else if ((O != J))
164164 then throw("LP Token must be a Whitelisted Token.")
165165 else [aa, StringEntry(("LP_" + H), toBase58String(ab))]
166166 }
167167
168168
169169
170170 @Callable(a)
171171 func WithdrawVotedTokens (H) = {
172172 let v = a.payments[0]
173173 let I = toBase58String(a.caller.bytes)
174174 let i = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
175175 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
176176 let L = getString(this, ("Pair_Under_Voting_" + H))
177177 let ad = getIntegerValue(this, ((("Votes_Received_" + I) + "_") + H))
178178 let ae = (K - height)
179179 if ((L != H))
180180 then throw("Pair is not available in Voting List.")
181181 else if ((K > height))
182182 then throw((("Voting Already Running. You can withdraw your Ballet Token only after the expire of " + toString(ae)) + " Blocks"))
183183 else if ((0 >= ad))
184184 then throw("You don't have any dues of ballet balance in this Voting Pair.")
185185 else if (isDefined(v.assetId))
186186 then throw("Don't attach any other asset. Please attach 0.1 TN as a fee to release your token")
187187 else if ((v.amount != 10000000))
188188 then throw("Please attach 0.1 TN as a fee to release your token.")
189189 else [IntegerEntry(((("Votes_Received_" + I) + "_") + H), 0), ScriptTransfer(a.caller, ad, i)]
190190 }
191191
192192
193193
194194 @Callable(a)
195195 func SwapAssetToUSDTPairEntry (H) = {
196196 let I = toBase58String(a.caller.bytes)
197197 let v = if ((size(a.payments) == 1))
198198 then a.payments[0]
199199 else throw("Whitelisted Swap Token is required as Attached payment[1].")
200200 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
201201 let L = getString(this, ("Pair_Under_Voting_" + H))
202202 let O = getStringValue(this, ("Voting_Status_" + H))
203- let af = getIntegerValue(this, ("Price_Of_" + H))
204- let ag = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
205- let ah = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
206- let ai = fraction(ag, ah, (ah + v.amount))
207- let aj = (ag - ai)
208- let ak = getIntegerValue(this, ("Decimals_of_" + H))
209- let al = "Fail"
210- let am = 1
211- let an = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
212- let ao = ak
213- let ap = 6
214- let aq = ((6 - ao) - 8)
215- let ar = ((aj * am) / 100)
216- let as = (aj - ar)
217- let at = {
203+ let af = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
204+ let ag = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
205+ let ah = fraction(af, ag, (ag + v.amount))
206+ let ai = (af - ah)
207+ let aj = "Fail"
208+ let ak = 1
209+ let al = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr')
210+ let am = ((ai * ak) / 100)
211+ let an = (ai - am)
212+ let ao = {
218213 let Q = getInteger(this, ("Total_Swap_Fee_Collected_" + toBase58String(j)))
219214 if ($isInstanceOf(Q, "Int"))
220215 then {
221216 let R = Q
222217 R
223218 }
224219 else 0
225220 }
226- let au = (at + ar)
227- let av = {
221+ let ap = (ao + am)
222+ let aq = {
228223 let Q = getInteger(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
229224 if ($isInstanceOf(Q, "Int"))
230225 then {
231226 let R = Q
232227 R
233228 }
234229 else 0
235230 }
236- let aw = (ah + v.amount)
237- let ax = {
231+ let ar = (ag + v.amount)
232+ let as = {
238233 let Q = getInteger(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
239234 if ($isInstanceOf(Q, "Int"))
240235 then {
241236 let R = Q
242237 R
243238 }
244239 else 0
245240 }
246- let ay = (ag - aj)
247- let az = {
241+ let at = (af - ai)
242+ let au = {
248243 let Q = getInteger(this, "Total_of_Swaps_Txns")
249244 if ($isInstanceOf(Q, "Int"))
250245 then {
251246 let R = Q
252247 R
253248 }
254249 else 0
255250 }
256- let aA = (az + 1)
251+ let av = (au + 1)
257252 if ((L != H))
258253 then throw("Pair is not available in Whitelisted Asset.")
259- else if ((O == al))
254+ else if ((O == aj))
260255 then throw((H + " is not A Whitelisted Token Yet."))
261256 else if ((v.assetId == j))
262257 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
263258 else if ((v.assetId != fromBase58String(H)))
264259 then throw(("Incorrect asset attached, please attach or send " + H))
265- else if ((10000 > aj))
260+ else if ((10000 > ai))
266261 then throw((("Your Attached Asset Amount is very low. Attach More " + H) + " Tokens to Claim the minimum Amount of 1 cent atleast."))
267- else if ((ag == 0))
262+ else if ((af == 0))
268263 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
269- else if ((ah == 0))
264+ else if ((ag == 0))
270265 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
271- else if ((aj > ag))
272- then throw((("Pool Only has a Liquidity of " + toString((ag / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
273- else [IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), au), IntegerEntry("Total_of_Swaps_Txns", aA), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aw), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), ay), ScriptTransfer(a.caller, as, j), ScriptTransfer(an, ar, j)]
266+ else if ((ai > af))
267+ then throw((("Pool Only has a Liquidity of " + toString((af / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
268+ else [IntegerEntry(("Total_Swap_Fee_Collected_" + toBase58String(j)), ap), IntegerEntry("Total_of_Swaps_Txns", av), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), ar), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), at), ScriptTransfer(a.caller, an, j), ScriptTransfer(al, am, j)]
274269 }
275270
276271
277272
278273 @Callable(a)
279274 func SwapUSDTToAssetPairEntry (H) = {
280275 let I = toBase58String(a.caller.bytes)
281276 let v = if ((size(a.payments) == 1))
282277 then a.payments[0]
283278 else throw("Only USDT Token is required as an Attached payment[1].")
284279 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
280+ let af = getIntegerValue(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
281+ let ag = getIntegerValue(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
282+ let aw = fraction(af, ag, (af + v.amount))
283+ let ai = (ag - aw)
285284 let L = getString(this, ("Pair_Under_Voting_" + H))
286285 let O = getStringValue(this, ("Voting_Status_" + H))
287- let aB = getIntegerValue(this, ("ReversePrice_Of_" + H))
288- let ak = getIntegerValue(this, ("Decimals_of_" + H))
289- let al = "Fail"
290- let aC = 1
291- let ao = ak
292- let ap = 6
293- let aq = ((6 - ao) - 8)
294- let aj = ((((v.amount * aB) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aq, 0, 0, UP)) * pow(10, 0, ao, 0, 0, UP))
295- let aD = assetBalance(this, fromBase58String(H))
296- let aE = (aD - aj)
286+ let aj = "Fail"
287+ let ak = 1
288+ let am = ((ai * ak) / 100)
289+ let an = (ai - am)
297290 if ((L != H))
298291 then throw("Pair is not available in Whitelisted Asset.")
299- else if ((O == al))
292+ else if ((O == aj))
300293 then throw((H + " is not A Whitelisted Token Yet."))
301294 else if ((H == toBase58String(j)))
302295 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input and Attach USDT as an attachment Token in payment[1].")
303296 else if ((v.assetId != j))
304297 then throw("You can Attach USDT as an Attached Payment[1] to Swap USDT To Required Token. Any other asset else than USDT will be rejected.")
305298 else if ((1000000 > v.amount))
306299 then throw("Your Attached USDT Amount is very low. Attach Atleast 1 USDT to Claim the minimum Tokens.")
307- else [IntegerEntry(("ReversePrice_Of_" + H), aB), IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, ((aj * 99) / 100), fromBase58String(H)), ScriptTransfer(a.caller, ((aj * aC) / 100), fromBase58String(H))]
300+ else if ((af == 0))
301+ then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
302+ else if ((ag == 0))
303+ then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
304+ else [IntegerEntry(("Total_Swap_Fee_Collected_" + H), 0), ScriptTransfer(a.caller, an, fromBase58String(H)), ScriptTransfer(a.caller, am, fromBase58String(H))]
308305 }
309306
310307
311308
312309 @Callable(a)
313310 func AddLiquidity (H) = {
314311 let I = toBase58String(a.caller.bytes)
315312 let e = value(a.payments[0])
316313 let f = value(a.payments[1])
317314 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
318315 let L = getString(this, ("Pair_Under_Voting_" + H))
319316 let O = getStringValue(this, ("Voting_Status_" + H))
320- let af = getIntegerValue(this, ("Price_Of_" + H))
321- let aB = getIntegerValue(this, ("ReversePrice_Of_" + H))
322- let ak = getIntegerValue(this, ("Decimals_of_" + H))
323- let al = "Fail"
324- let aF = 100000
325- let ao = ak
326- let aq = ((6 - ao) - 8)
327- let aG = ((((e.amount * aB) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aq, 0, 0, UP)) * pow(10, 0, ao, 0, 0, UP))
328- let aH = fraction(1, 1000000000000, af)
329- let aI = {
317+ let ax = getIntegerValue(this, ("Price_Of_" + H))
318+ let ay = getIntegerValue(this, ("ReversePrice_Of_" + H))
319+ let az = getIntegerValue(this, ("Decimals_of_" + H))
320+ let aj = "Fail"
321+ let aA = 100000
322+ let aB = az
323+ let aC = ((6 - aB) - 8)
324+ let aD = ((((e.amount * ay) / pow(10, 0, 12, 0, 0, UP)) / pow(10, 0, aC, 0, 0, UP)) * pow(10, 0, aB, 0, 0, UP))
325+ let aE = fraction(1, 1000000000000, ax)
326+ let aF = {
330327 let Q = getInteger(this, ((("Balance_of_" + H) + "_") + toBase58String(j)))
331328 if ($isInstanceOf(Q, "Int"))
332329 then {
333330 let R = Q
334331 R
335332 }
336333 else 0
337334 }
338- let aJ = (aI + e.amount)
339- let aK = {
335+ let aG = (aF + e.amount)
336+ let aH = {
340337 let Q = getInteger(this, ((("Balance_of_" + toBase58String(j)) + "_") + H))
341338 if ($isInstanceOf(Q, "Int"))
342339 then {
343340 let R = Q
344341 R
345342 }
346343 else 0
347344 }
348- let aL = (aK + f.amount)
345+ let aI = (aH + f.amount)
349346 if ((L != H))
350347 then throw("Pair is not available in Whitelisted Asset.")
351- else if ((O == al))
348+ else if ((O == aj))
352349 then throw((H + " is not A Whitelisted Token Yet."))
353350 else if ((H == toBase58String(j)))
354351 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input as well as in payment[1] and Attach USDT as an attachment Token in payment[2].")
355352 else if ((size(a.payments) != 2))
356353 then throw("Two attached assets expected as payment in 50%-50%. Kindly Attach payment1 = USDT Token and payment2 = Token you want to add for Liquidity.")
357354 else if ((e.assetId != j))
358355 then throw("Incorrect asset attached for Liquidity in payment[1], please attach USDT Token only.")
359356 else if ((10000000 > e.amount))
360357 then throw("please attach atleast 10 USDT in payment[1].")
361358 else if ((f.assetId == j))
362359 then throw("You Attached USDT asset for Liquidity in both payments, Kindly Attach payment1 = USDT Token and payment2 = Token you want to add for Liquidity.")
363360 else if ((f.assetId != fromBase58String(H)))
364361 then throw((("Asset String " + H) + " is not matching with attached payment[2]. String and payment[2] must be same."))
365- else if ((f.amount != aG))
366- then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aG)))
367- else if ((aB != aH))
362+ else if ((f.amount != aD))
363+ then throw(("Attached payment[2] quantity is not matching as per attached payment[1] USDT.It must be " + toString(aD)))
364+ else if ((ay != aE))
368365 then throw("Price and Reverse Price are Mismatched or manipulated manually.")
369- else [IntegerEntry(("Price_Of_" + H), af), IntegerEntry(("ReversePrice_Of_" + H), aB), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), aJ), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aL)]
366+ else [IntegerEntry(("Price_Of_" + H), ax), IntegerEntry(("ReversePrice_Of_" + H), ay), IntegerEntry(((("Balance_of_" + H) + "_") + toBase58String(j)), aG), IntegerEntry(((("Balance_of_" + toBase58String(j)) + "_") + H), aI)]
370367 }
371368
372369
373370
374371 @Callable(a)
375372 func RemovePairEntry (H) = {
376- let aM = getStringValue(this, "Polarity_Admin_Rights")
373+ let aJ = getStringValue(this, "Polarity_Admin_Rights")
377374 let j = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
378375 let K = getIntegerValue(this, ("Voting_End_Height_" + H))
379376 let L = getString(this, ("Pair_Under_Voting_" + H))
380377 let O = getStringValue(this, ("Voting_Status_" + H))
381378 let J = "Pass"
382379 let I = toBase58String(a.caller.bytes)
383- let aN = height
380+ let aK = height
384381 let ae = (K - height)
385382 if ((L != H))
386383 then throw("Pair is not available in Voting List.")
387- else if ((aM != I))
388- then throw((("I know You are not An Admin. Only " + aM) + " has rights to remove the pair."))
384+ else if ((aJ != I))
385+ then throw((("I know You are not An Admin. Only " + aJ) + " has rights to remove the pair."))
389386 else if ((K > height))
390387 then throw((("Voting Already Running. You can remove the pair after " + toString(ae)) + " Blocks"))
391388 else if ((O == J))
392389 then throw((H + " is now Whitelisted. So you can't remove it."))
393390 else [DeleteEntry(("Pair_Under_Voting_" + H)), DeleteEntry(("Voting_Start_Height_" + H)), DeleteEntry(("Voting_End_Height_" + H)), DeleteEntry(("Voting_Period_" + H)), DeleteEntry(("Votes_Required_" + H)), DeleteEntry(("Voting_Listing_Fee_" + H)), DeleteEntry(("Voting_Status_" + H)), DeleteEntry(("Votes_Received_" + H)), DeleteEntry(("Price_Of_" + H)), DeleteEntry(("ReversePrice_Of_" + H))]
394391 }
395392
396393
397394
398395 @Callable(a)
399-func RemoveEntry (aO,aP,aQ,aR) = [DeleteEntry(aO), DeleteEntry(aP), DeleteEntry(aQ), DeleteEntry(aR)]
396+func RemoveEntry (aL,aM,aN,aO) = [DeleteEntry(aL), DeleteEntry(aM), DeleteEntry(aN), DeleteEntry(aO)]
400397
401398
402-@Verifier(aS)
403-func aT () = {
404- let Q = aS
405- sigVerify(aS.bodyBytes, aS.proofs[0], aS.senderPublicKey)
399+@Verifier(aP)
400+func aQ () = {
401+ let Q = aP
402+ sigVerify(aP.bodyBytes, aP.proofs[0], aP.senderPublicKey)
406403 }
407404

github/deemru/w8io/169f3d6 
83.24 ms