tx · 3y2VyqKLt2EeUVVHkfxyPT6HxZKwm14LMVJHABGKiZUw

3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv:  -0.01400000 Waves

2022.01.19 16:06 [1885851] smart account 3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv > SELF 0.00000000 Waves

{ "type": 13, "id": "3y2VyqKLt2EeUVVHkfxyPT6HxZKwm14LMVJHABGKiZUw", "fee": 1400000, "feeAssetId": null, "timestamp": 1642597623490, "version": 2, "chainId": 84, "sender": "3Mrnje6z2xa3xuXyU2Lk6ynKy8tsRnnt4Bv", "senderPublicKey": "28sGn7FYnmxceAmnGYiDiKuMK1QyXiqX8zQXfKDnrc8t", "proofs": [ "2KdS74kXxyxpVzMjyQkn64oVjCHLjqSzTDkT1hJHQgEeBisMGVXffjXHM2mtejDFT4WsZHZ2ZBNWYLNuSWBiTBsd" ], "script": "base64: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AAAtMC4xIFROIFRva2VuIGlzIHJlcXVpcmVkIGFzIEF0dGFjaGVkIHBheW1lbnQuBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADmNoZWNrZW5kaGVpZ2h0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAClZvdGluZ19FSF8FAAAADEVudGVyQXNzZXRJRAQAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAACFBhaXJfVVZfBQAAAAxFbnRlckFzc2V0SUQEAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtWb3Rlc19SY3ZkXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwUAAAAMRW50ZXJBc3NldElECQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAAJSBBZGRyZXNzIG5ldmVyIHZvdGVkICYgZXhpc3QgaW4gbGlzdC4EAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlCQAAZQAAAAIFAAAADmNoZWNrZW5kaGVpZ2h0BQAAAAZoZWlnaHQDCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAAlUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFZvdGluZyBMaXN0LgMJAABmAAAAAgUAAAAOY2hlY2tlbmRoZWlnaHQFAAAABmhlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAA/Vm90aW5nIEFscmVhZHkgUnVubmluZy4gWW91IGNhbiB3aXRoZHJhdyB5b3VyIENPREUgVG9rZW4gYWZ0ZXIgCQABpAAAAAEFAAAAHXBlbmRpbmdibG9ja3Nmb3Jwcm9qZWN0ZXhwaXJlAgAAAAcgYmxvY2tzAwkAAGcAAAACAAAAAAAAAAAABQAAABZjaGVja3VzZXJ2b3RpbmdiYWxhbmNlCQAAAgAAAAECAAAAPFlvdSBkb24ndCBoYXZlIGFueSBkdWVzIG9mIENPREUgYmFsYW5jZSBpbiB0aGlzIFZvdGluZyBQYWlyLgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAABRRG9uJ3QgYXR0YWNoIGFueSBvdGhlciBhc3NldC4gUGxlYXNlIGF0dGFjaCAwLjEgVE4gYXMgYSBmZWUgdG8gcmVsZWFzZSB5b3VyIHRva2VuAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAACYloAJAAACAAAAAQIAAAA0UGxlYXNlIGF0dGFjaCAwLjEgVE4gYXMgYSBmZWUgdG8gcmVsZWFzZSB5b3VyIHRva2VuLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALVm90ZXNfUmN2ZF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8FAAAADEVudGVyQXNzZXRJRAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAFmNoZWNrdXNlcnZvdGluZ2JhbGFuY2UFAAAAC0NPREVBc3NldElEBQAAAANuaWwAAAABaQEAAAAMSXNzdWVMUFRva2VuAAAAAQAAAAxFbnRlckFzc2V0SUQEAAAAC2FkbWlucmlnaHRzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwIAAAAPTFBfQWRtaW5fUmlnaHRzAgAAAFBMUCBBZG1pbiBSaWdodHMgYXJlIE5vdCBJbmNsdWRlZCBpbnRvIFNtYXJ0IENvbnRyYWN0LiBEZXBsb3kgQWRtaW4gUmlnaHRzIEZpcnN0LgQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQ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AAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAAQQ2hlY2tVU0RUQmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAQAAAARQ2hlY2tBc3NldEJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAEG5ld2JhbGFuY2VvZlVTRFQJAABrAAAAAwUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAARQ2hlY2tBc3NldEJhbGFuY2UJAABkAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAkAAGUAAAACBQAAABBDaGVja1VTRFRCYWxhbmNlBQAAABBuZXdiYWxhbmNlb2ZVU0RUBAAAABNDdXJyZW50Vm90aW5nU3RhdHVzAgAAAAFGBAAAAAdTd2FwRmVlAAAAAAAAAAADBAAAABBTd2FwRmVldG9yZWNlaXZlCQAAaQAAAAIJAABoAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAB1N3YXBGZWUAAAAAAAAAA+gEAAAAFHVzZXJiYWxhbmNldG9yZWNlaXZlCQAAZQAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABBTd2FwRmVldG9yZWNlaXZlBAAAABlTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABxOZXdTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlCQAAZAAAAAIFAAAAGVN1bXVwb2ZBc3NldFRvVVNEVFN3YXBGZWUFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAEVN1bXVwQXNzZXRCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkAAGQAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAEFN1bXVwVVNEVEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVOZXdTdW11cG9mVVNEVEJhbGFuY2UJAABlAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQEAAAABFRPUFQEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAATVG90YWxfb2ZfUGFpcl9UeG5zXwUAAAAMRW50ZXJBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAABk5ld1RQVAkAAGQAAAACBQAAAARUT1BUAAAAAAAAAAABAwkAAAAAAAACBQAAAAxFbnRlckFzc2V0SUQJAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQJAAACAAAAAQIAAACGSW5wdXQgY2FuIE5ldmVyIGJlIGEgVVNEVCBBc3NldElELiBFbnRlciBXaGl0ZWxpc3RlZCBBc3NldElEIGluIGlucHV0ICYgQXR0YWNoIFdoaXRlbGlzdGVkIEFzc2V0IGFzIGFuIGF0dGFjaG1lbnQgVG9rZW4gaW4gcGF5bWVudFsxXS4DCQEAAAACIT0AAAACBQAAABljaGVja3BhaXJpc2F2YWlsYWJsZW9ybm90BQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAAArUGFpciBpcyBub3QgYXZhaWxhYmxlIGluIFdoaXRlbGlzdGVkIEFzc2V0LgMJAAAAAAAAAgUAAAAMVm90aW5nU3RhdHVzBQAAABNDdXJyZW50Vm90aW5nU3RhdHVzCQAAAgAAAAEJAAEsAAAAAgUAAAAMRW50ZXJBc3NldElEAgAAACAgaXMgbm90IEEgV2hpdGVsaXN0ZWQgVG9rZW4gWWV0LgMJAAAAAAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAFNZb3UgY2FuJ3QgQXR0YWNoIFVTRFQgYXMgYW4gQXR0YWNoZWQgUGF5bWVudC4gT25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgYXJlIGFjY2VwdGVkLgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQkAASwAAAACAgAAADBJbmNvcnJlY3QgYXNzZXQgYXR0YWNoZWQsIHBsZWFzZSBhdHRhY2ggb3Igc2VuZCAFAAAADEVudGVyQXNzZXRJRAMJAAAAAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAAAAAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAZgAAAAIAAAAAAACYloAFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAADRZb3VyIEF0dGFjaGVkIEFzc2V0IEFtb3VudCBpcyB2ZXJ5IGxvdy4gQXR0YWNoIE1vcmUgBQAAAAxFbnRlckFzc2V0SUQCAAAAOSBUb2tlbnMgdG8gQ2xhaW0gdGhlIG1pbmltdW0gQW1vdW50IG9mIDEwIGRvbGxhciBhdGxlYXN0LgMJAABmAAAAAgUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQFAAAAEENoZWNrVVNEVEJhbGFuY2UJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAHVBvb2wgT25seSBoYXMgYSBMaXF1aWRpdHkgb2YgCQABpAAAAAEJAABpAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAABQAAAAJVUAIAAAAfIFVTRFQuIEFkZCBMaXF1aWRpdHkgaW50byBQb29sLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAZVG90YWxfU3dhcF9GZWVfQ29sbGVjdGVkXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBQAAABxOZXdTdW11cG9mQXNzZXRUb1VTRFRTd2FwRmVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAAE1RvdGFsX29mX1BhaXJfVHhuc18FAAAADEVudGVyQXNzZXRJRAUAAAAGTmV3VFBUCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAIAAAABXwUAAAAMRW50ZXJBc3NldElEBQAAABZOZXdTdW11cG9mQXNzZXRCYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBQAAABVOZXdTdW11cG9mVVNEVEJhbGFuY2UJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABR1c2VyYmFsYW5jZXRvcmVjZWl2ZQUAAAALVVNEVEFzc2V0SUQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAZQ29sbGVjdFVTRFRTd2FwRmVlQWRkcmVzcwUAAAAQU3dhcEZlZXRvcmVjZWl2ZQUAAAALVVNEVEFzc2V0SUQFAAAAA25pbAAAAAFpAQAAABhTd2FwVVNEVFRvQXNzZXRQYWlyRW50cnkAAAABAAAADEVudGVyQXNzZXRJRAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAABU9ubHkgCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAADIgVVNEVCBUb2tlbiBpcyByZXF1aXJlZCBhcyBhbiBBdHRhY2hlZCBwYXltZW50WzFdLgQAAAAQQ2hlY2tVU0RUQmFsYW5jZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAQAAAARQ2hlY2tBc3NldEJhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQEAAAAEW5ld2JhbGFuY2VvZkFzc2V0CQAAawAAAAMFAAAAEENoZWNrVVNEVEJhbGFuY2UFAAAAEUNoZWNrQXNzZXRCYWxhbmNlCQAAZAAAAAIFAAAAEENoZWNrVVNEVEJhbGFuY2UIBQAAAANwbXQAAAAGYW1vdW50BAAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAkAAGUAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQUAAAARbmV3YmFsYW5jZW9mQXNzZXQEAAAAGWNoZWNrcGFpcmlzYXZhaWxhYmxlb3Jub3QJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAhQYWlyX1VWXwUAAAAMRW50ZXJBc3NldElEBAAAAAxWb3RpbmdTdGF0dXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAOVm90aW5nX1N0YXR1c18FAAAADEVudGVyQXNzZXRJRAQAAAATQ3VycmVudFZvdGluZ1N0YXR1cwIAAAABRgQAAAAHU3dhcEZlZQAAAAAAAAAAAwQAAAAQU3dhcEZlZXRvcmVjZWl2ZQkAAGkAAAACCQAAaAAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAAAdTd2FwRmVlAAAAAAAAAAPoBAAAABR1c2VyYmFsYW5jZXRvcmVjZWl2ZQkAAGUAAAACBQAAABRxdWFudGl0eW9mcHJpY2Vhc3NldAUAAAAQU3dhcEZlZXRvcmVjZWl2ZQQAAAAZU3VtdXBvZlVTRFRUb0Fzc2V0U3dhcEZlZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAICAAAAGVRvdGFsX1N3YXBfRmVlX0NvbGxlY3RlZF8FAAAADEVudGVyQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABxOZXdTdW11cG9mVVNEVFRvQXNzZXRTd2FwRmVlCQAAZAAAAAIFAAAAGVN1bXVwb2ZVU0RUVG9Bc3NldFN3YXBGZWUFAAAAEFN3YXBGZWV0b3JlY2VpdmUEAAAAEVN1bXVwQXNzZXRCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWTmV3U3VtdXBvZkFzc2V0QmFsYW5jZQkAAGUAAAACBQAAABFDaGVja0Fzc2V0QmFsYW5jZQUAAAAUcXVhbnRpdHlvZnByaWNlYXNzZXQEAAAAEFN1bXVwVVNEVEJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8FAAAADEVudGVyQXNzZXRJRAIAAAABXwkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVOZXdTdW11cG9mVVNEVEJhbGFuY2UJAABkAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAABFRPUFQEAAAAByRtYXRjaDAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAATVG90YWxfb2ZfUGFpcl9UeG5zXwUAAAAMRW50ZXJBc3NldElEAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAABk5ld1RQVAkAAGQAAAACBQAAAARUT1BUAAAAAAAAAAABAwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAK1BhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBXaGl0ZWxpc3RlZCBBc3NldC4DCQAAAAAAAAIFAAAADFZvdGluZ1N0YXR1cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAgIGlzIG5vdCBBIFdoaXRlbGlzdGVkIFRva2VuIFlldC4DCQAAAAAAAAIFAAAADEVudGVyQXNzZXRJRAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAHlJbnB1dCBjYW4gTmV2ZXIgYmUgYSBVU0RUIEFzc2V0SUQuIEVudGVyIFdoaXRlbGlzdGVkIEFzc2V0SUQgaW4gaW5wdXQgJiBBdHRhY2ggVVNEVCBhcyBhbiBhdHRhY2htZW50IFRva2VuIGluIHBheW1lbnRbMV0uAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAH5Zb3UgY2FuIEF0dGFjaCBVU0RUIGFzIGFuIEF0dGFjaGVkIFBheW1lbnRbMV0gdG8gU3dhcCBVU0RUIFRvIFJlcXVpcmVkIFRva2VuLiBBbnkgb3RoZXIgYXNzZXQgZWxzZSB0aGFuIFVTRFQgd2lsbCBiZSByZWplY3RlZC4DCQAAZgAAAAIAAAAAAACYloAIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAWllvdXIgQXR0YWNoZWQgVVNEVCBBbW91bnQgaXMgdmVyeSBsb3cuIEF0dGFjaCBBdGxlYXN0IDEwIFVTRFQgdG8gQ2xhaW0gdGhlIG1pbmltdW0gVG9rZW5zLgMJAAAAAAAAAgUAAAAQQ2hlY2tVU0RUQmFsYW5jZQAAAAAAAAAAAAkAAAIAAAABAgAAAGVTd2FwIFBhaXIgTmVlZCB0byBBZGQgTGlxdWlkaXR5IGZpcnN0IGludG8gUG9vbC4gT25seSBBZnRlciB0aGF0IFBhaXIgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIFN3YXBwaW5nLgMJAAAAAAAAAgUAAAARQ2hlY2tBc3NldEJhbGFuY2UAAAAAAAAAAAAJAAACAAAAAQIAAABlU3dhcCBQYWlyIE5lZWQgdG8gQWRkIExpcXVpZGl0eSBmaXJzdCBpbnRvIFBvb2wuIE9ubHkgQWZ0ZXIgdGhhdCBQYWlyIHdpbGwgYmUgYWN0aXZhdGVkIGZvciBTd2FwcGluZy4DCQAAZgAAAAIFAAAAFHF1YW50aXR5b2ZwcmljZWFzc2V0BQAAABFDaGVja0Fzc2V0QmFsYW5jZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAdUG9vbCBPbmx5IGhhcyBhIExpcXVpZGl0eSBvZiAJAAGkAAAAAQUAAAARQ2hlY2tBc3NldEJhbGFuY2UCAAAAISBUb2tlbnMuIEFkZCBMaXF1aWRpdHkgaW50byBQb29sLgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACAgAAABlUb3RhbF9Td2FwX0ZlZV9Db2xsZWN0ZWRfBQAAAAxFbnRlckFzc2V0SUQFAAAAHE5ld1N1bXVwb2ZVU0RUVG9Bc3NldFN3YXBGZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAATVG90YWxfb2ZfUGFpcl9UeG5zXwUAAAAMRW50ZXJBc3NldElEBQAAAAZOZXdUUFQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEAgAAAAFfBQAAAAxFbnRlckFzc2V0SUQFAAAAFk5ld1N1bXVwb2ZBc3NldEJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAC0JhbGFuY2Vfb2ZfBQAAAAxFbnRlckFzc2V0SUQCAAAAAV8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQFAAAAFU5ld1N1bXVwb2ZVU0RUQmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAA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aDAFAAAAAWEAAAAAAAAAAAAEAAAAEE5ld0xQVG9rZW5Jc3N1ZWQJAABkAAAAAgUAAAANTFBUb2tlbklzc3VlZAUAAAAScXVhbnRpdHlvZkxQVG9rZW4xAwkBAAAAAiE9AAAAAgUAAAAZY2hlY2twYWlyaXNhdmFpbGFibGVvcm5vdAUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAK1BhaXIgaXMgbm90IGF2YWlsYWJsZSBpbiBXaGl0ZWxpc3RlZCBBc3NldC4DCQAAAAAAAAIFAAAADFZvdGluZ1N0YXR1cwUAAAATQ3VycmVudFZvdGluZ1N0YXR1cwkAAAIAAAABCQABLAAAAAIFAAAADEVudGVyQXNzZXRJRAIAAAAgIGlzIG5vdCBBIFdoaXRlbGlzdGVkIFRva2VuIFlldC4DCQAAAAAAAAIFAAAADEVudGVyQXNzZXRJRAkAAlgAAAABBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAJJJbnB1dCBjYW4gTmV2ZXIgYmUgYSBVU0RUIEFzc2V0SUQuIEVudGVyIFdoaXRlbGlzdGVkIEFzc2V0SUQgaW4gaW5wdXQgYXMgd2VsbCBhcyBpbiBwYXltZW50WzFdICYgQXR0YWNoIFVTRFQgYXMgYW4gYXR0YWNobWVudCBUb2tlbiBpbiBwYXltZW50WzJdLgMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAIJAAACAAAAAQIAAACeVHdvIGF0dGFjaGVkIGFzc2V0cyBleHBlY3RlZCBhcyBwYXltZW50IGluIDUwJS01MCUuIEtpbmRseSBBdHRhY2ggcGF5bWVudDEgPSBUb2tlbiB5b3Ugd2FudCB0byBhZGQgZm9yIExpcXVpZGl0eSAmIHBheW1lbnQyID0gRXF1aXZhbGVudCBBbW91bnQgb2YgVVNEVCBUb2tlbi4DCQAAAAAAAAIIBQAAAARwbXQxAAAAB2Fzc2V0SWQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAeFlvdSBBdHRhY2hlZCBVU0RUIGFzc2V0IGluIHBheW1lbnRbMV0sIHBsZWFzZSBhdHRhY2ggb25seSB3aGl0ZWxpc3RlZCBUb2tlbiBpbiBwYXltZW50WzFdIGFsb25nIHdpdGggVVNEVCBpbiBwYXltZW50WzJdLgMJAQAAAAIhPQAAAAIIBQAAAARwbXQxAAAAB2Fzc2V0SWQJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElECQAAAgAAAAECAAAAa0luY29ycmVjdCBhc3NldCBhdHRhY2hlZCBmb3IgTGlxdWlkaXR5IGluIHBheW1lbnRbMV0sIHBsZWFzZSBhdHRhY2ggU3RyaW5nIEFzc2V0IG9yIFdoaXRlbGlzdGVkIFRva2VuIG9ubHkuAwkBAAAAAiE9AAAAAggFAAAABHBtdDEAAAAHYXNzZXRJZAkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQJAAACAAAAAQIAAABrSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkIGZvciBMaXF1aWRpdHkgaW4gcGF5bWVudFsxXSwgcGxlYXNlIGF0dGFjaCBTdHJpbmcgQXNzZXQgb3IgV2hpdGVsaXN0ZWQgVG9rZW4gb25seS4DCQEAAAACIT0AAAACCAUAAAAEcG10MgAAAAdhc3NldElkBQAAAAtVU0RUQXNzZXRJRAkAAAIAAAABAgAAAGpXcm9uZyBBc3NldCBBdHRhY2hlZCBpbiBwYXltZW50c1syXSwgUGxlYXNlIGF0dGFjaCBwYXltZW50WzFdID0gTGlxdWlkaXR5IFRva2VuICYgcGF5bWVudFsyXSA9IFVTRFQgVG9rZW4uAwkAAGYAAAACAAAAAAAAmJaACAUAAAAEcG10MgAAAAZhbW91bnQJAAACAAAAAQIAAABVcGxlYXNlIGF0dGFjaCBhdGxlYXN0IDEwIFVTRFQgaW4gcGF5bWVudFsyXSAmIEVxdWl2YWxlbnQgd29ydGggb2YgVG9rZW4gaW4gcGF5bWVudFsxXQMJAQAAAAIhPQAAAAIIBQAAAARwbXQyAAAABmFtb3VudAUAAAAWcXVhbnRpdHlvZkVudGVyQXNzZXRJRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAFpBdHRhY2hlZCBwYXltZW50WzJdIHF0eSBpcyBub3QgbWF0Y2hpbmcgYXMgcGVyIGF0dGFjaGVkIHBheW1lbnRbMV0ucGF5bWVudFsyXSBtdXN0IGJl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E0N1cnJlbnRWb3RpbmdTdGF0dXMJAAACAAAAAQkAASwAAAACBQAAAAxFbnRlckFzc2V0SUQCAAAAHiBpcyBub3QgQSBXaGl0ZWxpc3QgVG9rZW4gWWV0LgMJAAAAAAAAAgkAAlkAAAABBQAAAAxFbnRlckFzc2V0SUQFAAAAC1VTRFRBc3NldElECQAAAgAAAAECAAAAa0Rvbid0IGNob29zZSBVU0RUIEFzc2V0SUQgYXMgSW5wdXQsIE9ubHkgV2hpdGVsaXN0ZWQgQXNzZXQgYXMgSW5wdXQgU3RyaW5nICYgQXR0YWNoIExQIFRva2VucyBhcyBwYXltZW50WzFdAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAABJSZWlzc3VlYWJsZWFzc2V0SWQJAAACAAAAAQIAAABHV3JvbmcgQXNzZXQgaXMgYXR0YWNoZWQgaW4gcGF5bWVudFsxXSBvciBMUCBUb2tlbiBOb3QgRm91bmQgb3IgTWlzc2luZy4DCQAAZgAAAAIAAAAAAAAAAAEFAAAAEFVzZXJMUFBlcmNlbnRhZ2UJAAACAAAAAQIAAAAuWW91ciBMUCBUb2tlbiBhbW91bnQgJSBpcyB2ZXJ5IGxvdyB0byBjb252ZXJ0LgMJAABmAAAAAgAAAAAAAAAAAQUAAAAPVXNlckxQV29ydGhVU0RUCQAAAgAAAAECAAAAUllvdXIgTFAgVG9rZW4gY29udmVyc2lvbiBhbW91bnQgaXMgdmVyeSBsb3cgdG8gY29udmVydCBvciBsZXNzIHRoYW4gMC4wMDAwMDEgVVNEVC4DCQAAZgAAAAIAAAAAAAAAAAEFAAAAEFVzZXJMUFdvcnRoQXNzZXQJAAACAAAAAQIAAABcWW91ciBMUCBUb2tlbiBjb252ZXJzaW9uIGFtb3VudCBpcyB2ZXJ5IGxvdyB0byBjb252ZXJ0IG9yIGxlc3MgdGhhbiBmcmFjdGlvbiB2YWx1ZSBvZiBUb2tlbi4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFldpdGhkcmF3X0xQX1BlcmNlbnRhZ2UFAAAAEFVzZXJMUFBlcmNlbnRhZ2UJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAABJSZWlzc3VlYWJsZWFzc2V0SWQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAICAAAACVRvdGFsX0xQXwUAAAAMRW50ZXJBc3NldElEBQAAABBOZXdMUFRva2VuSXNzdWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtCYWxhbmNlX29mXwUAAAAMRW50ZXJBc3NldElEAgAAAAFfCQACWAAAAAEFAAAAC1VTRFRBc3NldElEBQAAABROZXdVU0RUSG9sZGluZ0luUGFpcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAALQmFsYW5jZV9vZl8JAAJYAAAAAQUAAAALVVNEVEFzc2V0SUQCAAAAAV8FAAAADEVudGVyQXNzZXRJRAUAAAAVTmV3QXNzZXRIb2xkaW5nSW5QYWlyCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAPVXNlckxQV29ydGhVU0RUBQAAAAtVU0RUQXNzZXRJRAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEFVzZXJMUFdvcnRoQXNzZXQJAAJZAAAAAQUAAAAMRW50ZXJBc3NldElEBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmTG9Fg", "height": 1885851, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: o7PTjMKuNLoBKuvqxsQBDRZgeL559JXmtuxqYHnxqR2 Next: GW3f8SmkpCeGfhxFzDyzCpwwZfRhJ8DCLsGF4tLR6vXt Diff:
OldNewDifferences
4141 then throw("Three attached assets expected as payment. Kindly Attach payment1 = 1000 CODE Token & payment2 = Token you want to List for Voting. & payment3 = 1000 xUSD")
4242 else if ((j.assetId != b))
4343 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 CODE Token only.")
44- else if ((j.amount != 100000000000))
44+ else if ((j.amount != 10000000))
4545 then throw((((("You attached only " + toString(fraction(j.amount, 1, 100000000))) + ".") + toString(fraction(j.amount, 1, 10000000))) + " CODE for Voting in payment[1], please attach 1000 CODE Token."))
4646 else if ((k.assetId != w))
4747 then throw("Input String & Attached AssetID in payment2 is not matching.")
4949 then throw("You Attached TN Asset ID for Voting, please attach fsTN instead of TN or Token You want to list in payment[2].")
5050 else if ((l.assetId != c))
5151 then throw("Incorrect asset attached for Voting in payment[3], please attach 1000 xUSD Token only.")
52- else if ((l.amount != 100000000000))
52+ else if ((l.amount != 10000000))
5353 then throw((((("You attached only " + toString(fraction(l.amount, 1, 100000000))) + ".") + toString(fraction(l.amount, 1, 10000000))) + " xUSD for Voting in payment[3], please attach 1000 xUSD Token."))
5454 else [StringEntry(("Pair_UV_" + h), h), StringEntry(("Voting_Status_" + h), v), IntegerEntry(("Voting_SH_" + h), height), IntegerEntry(("Voting_EH_" + h), t), IntegerEntry(("Voting_Period_" + h), q), IntegerEntry(("Listing_Fee_" + h), j.amount), IntegerEntry(("xUSD_Listing_Fee_" + h), l.amount), IntegerEntry(("Votes_Req_" + h), (s / 3)), IntegerEntry(("Votes_Rcvd_" + h), 0), ScriptTransfer(d, j.amount, b)]
5555 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
55
66 let b = base58'44Mq8KqUhM94t93MiBq3S22iiuGczMxpKmse5dBy2w5y'
77
88 let c = base58'Zn3cLHW7aAVPm5aACcTjvg7e7iEy2cKDtbowok5qa9H'
99
1010 let d = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
1111
1212 let e = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
1313
1414 let f = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR')
1515
1616 @Callable(g)
1717 func RegisterPairForVoting (h,i) = {
1818 let j = value(g.payments[0])
1919 let k = value(g.payments[1])
2020 let l = value(g.payments[2])
2121 let m = 90
2222 let n = toBase58String(g.caller.bytes)
2323 let o = !(isDefined(k.assetId))
2424 let p = 1440
2525 let q = (p * i)
2626 let r = (q - 43199)
2727 let s = ((100000 + ((11574 * r) / 10000)) * 100000000)
2828 let t = (height + q)
2929 let u = getString(this, ("Pair_UV_" + h))
3030 let v = "F"
3131 let w = fromBase58String(h)
3232 if ((43 > size(h)))
3333 then throw("Wrong AssetID is Entered for Voting. Please Enter a Valid AssetID. Probably you entered an AssetID less than 43 Chars.")
3434 else if ((29 >= i))
3535 then throw("Enter no. of days in between 30 to 90.")
3636 else if ((i > m))
3737 then throw("You Entered days greater than 90 please Enter no. of days in between 1 to 90.")
3838 else if ((u == h))
3939 then throw("Pair Already Exist in Voting List.")
4040 else if ((size(g.payments) != 3))
4141 then throw("Three attached assets expected as payment. Kindly Attach payment1 = 1000 CODE Token & payment2 = Token you want to List for Voting. & payment3 = 1000 xUSD")
4242 else if ((j.assetId != b))
4343 then throw("Incorrect asset attached for Voting in payment[1], please attach 1000 CODE Token only.")
44- else if ((j.amount != 100000000000))
44+ else if ((j.amount != 10000000))
4545 then throw((((("You attached only " + toString(fraction(j.amount, 1, 100000000))) + ".") + toString(fraction(j.amount, 1, 10000000))) + " CODE for Voting in payment[1], please attach 1000 CODE Token."))
4646 else if ((k.assetId != w))
4747 then throw("Input String & Attached AssetID in payment2 is not matching.")
4848 else if ((o == true))
4949 then throw("You Attached TN Asset ID for Voting, please attach fsTN instead of TN or Token You want to list in payment[2].")
5050 else if ((l.assetId != c))
5151 then throw("Incorrect asset attached for Voting in payment[3], please attach 1000 xUSD Token only.")
52- else if ((l.amount != 100000000000))
52+ else if ((l.amount != 10000000))
5353 then throw((((("You attached only " + toString(fraction(l.amount, 1, 100000000))) + ".") + toString(fraction(l.amount, 1, 10000000))) + " xUSD for Voting in payment[3], please attach 1000 xUSD Token."))
5454 else [StringEntry(("Pair_UV_" + h), h), StringEntry(("Voting_Status_" + h), v), IntegerEntry(("Voting_SH_" + h), height), IntegerEntry(("Voting_EH_" + h), t), IntegerEntry(("Voting_Period_" + h), q), IntegerEntry(("Listing_Fee_" + h), j.amount), IntegerEntry(("xUSD_Listing_Fee_" + h), l.amount), IntegerEntry(("Votes_Req_" + h), (s / 3)), IntegerEntry(("Votes_Rcvd_" + h), 0), ScriptTransfer(d, j.amount, b)]
5555 }
5656
5757
5858
5959 @Callable(g)
6060 func DoVoting (h) = {
6161 let x = if ((size(g.payments) == 1))
6262 then g.payments[0]
6363 else throw((toBase58String(b) + "CODE Token is required as Attached payment"))
6464 let y = toBase58String(g.caller.bytes)
6565 let z = "P"
6666 let A = getIntegerValue(this, ("Voting_EH_" + h))
6767 let B = getString(this, ("Pair_UV_" + h))
6868 let C = getIntegerValue(this, ("Votes_Req_" + h))
6969 let D = getIntegerValue(this, ("Votes_Rcvd_" + h))
7070 let E = getStringValue(this, ("Voting_Status_" + h))
7171 let F = {
7272 let G = getInteger(this, ("Votes_Rcvd_" + h))
7373 if ($isInstanceOf(G, "Int"))
7474 then {
7575 let H = G
7676 H
7777 }
7878 else 0
7979 }
8080 let I = (F + x.amount)
8181 let J = {
8282 let G = getInteger(this, ((("Votes_Rcvd_" + y) + "_") + h))
8383 if ($isInstanceOf(G, "Int"))
8484 then {
8585 let K = G
8686 K
8787 }
8888 else 0
8989 }
9090 let L = (J + x.amount)
9191 let M = (D >= C)
9292 let N = valueOrErrorMessage(assetInfo(fromBase58String(h)), (("Asset " + h) + " doesn't exist"))
9393 if ((B != h))
9494 then throw("Pair is not available in Voting List.")
9595 else if ((height > A))
9696 then throw((("Voting timeline for " + h) + " is expired."))
9797 else if ((x.assetId != b))
9898 then throw((("Kindly Attach Only " + toBase58String(b)) + " Token."))
9999 else if ((E == z))
100100 then throw((("Voting for " + h) + " pair is completed & it’s available in whitelist."))
101101 else if (M)
102102 then [StringEntry(("Voting_Status_" + h), z), IntegerEntry(((("Balance_of_" + h) + "_") + toBase58String(a)), 0), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + h), 0), IntegerEntry(("Total_of_Pair_Txns_" + h), 0), IntegerEntry(((("Total_Swap_Fee_Collected_" + h) + "_") + toBase58String(a)), 0), IntegerEntry(("Total_Swap_Fee_Collected_" + h), 0), IntegerEntry(((("Votes_Rcvd_" + y) + "_") + h), L)]
103103 else [IntegerEntry(("Votes_Rcvd_" + h), I), IntegerEntry(((("Votes_Rcvd_" + y) + "_") + h), L)]
104104 }
105105
106106
107107
108108 @Callable(g)
109109 func WithdrawVotedTokens (h) = {
110110 let x = if ((size(g.payments) == 1))
111111 then g.payments[0]
112112 else throw("0.1 TN Token is required as Attached payment.")
113113 let y = toBase58String(g.caller.bytes)
114114 let A = getIntegerValue(this, ("Voting_EH_" + h))
115115 let B = getString(this, ("Pair_UV_" + h))
116116 let O = valueOrErrorMessage(getInteger(this, ((("Votes_Rcvd_" + y) + "_") + h)), (y + " Address never voted & exist in list."))
117117 let P = (A - height)
118118 if ((B != h))
119119 then throw("Pair is not available in Voting List.")
120120 else if ((A > height))
121121 then throw((("Voting Already Running. You can withdraw your CODE Token after " + toString(P)) + " blocks"))
122122 else if ((0 >= O))
123123 then throw("You don't have any dues of CODE balance in this Voting Pair.")
124124 else if (isDefined(x.assetId))
125125 then throw("Don't attach any other asset. Please attach 0.1 TN as a fee to release your token")
126126 else if ((x.amount != 10000000))
127127 then throw("Please attach 0.1 TN as a fee to release your token.")
128128 else [IntegerEntry(((("Votes_Rcvd_" + y) + "_") + h), 0), ScriptTransfer(g.caller, O, b)]
129129 }
130130
131131
132132
133133 @Callable(g)
134134 func IssueLPToken (h) = {
135135 let Q = valueOrErrorMessage(getString(this, "LP_Admin_Rights"), "LP Admin Rights are Not Included into Smart Contract. Deploy Admin Rights First.")
136136 let y = toBase58String(g.caller.bytes)
137137 let B = valueOrErrorMessage(getString(this, ("Pair_UV_" + h)), "Asset not Found in Whitelisted Token")
138138 let N = valueOrErrorMessage(assetInfo(fromBase58String(h)), (("Asset " + h) + " doesn't exist"))
139139 let R = N.name
140140 let S = N.decimals
141141 let z = "P"
142142 let E = valueOrErrorMessage(getString(this, ("Voting_Status_" + h)), ("Voting Status is Missing for " + h))
143143 let T = (1 * pow(10, 0, fraction((S + 6), 1, 2), 0, 0, UP))
144144 let U = Issue((("LP-" + take(R, 8)) + "-USDT"), (((("LP-" + R) + "-USDT") + " is a Liquidity Provider Token Issued Against ") + h), T, fraction((S + 6), 1, 2), true)
145145 let V = calculateAssetId(U)
146146 if ((Q != y))
147147 then throw((("Your are not allowded to Issue LP Token. Only " + Q) + " can issue the LP Token."))
148148 else if ((B != h))
149149 then throw("Pair is not available in Voting List.")
150150 else if ((E != z))
151151 then throw("LP Token must be a Whitelisted Token.")
152152 else [U, StringEntry(("LP_" + h), toBase58String(V)), IntegerEntry(("Total_LP_" + h), T)]
153153 }
154154
155155
156156
157157 @Callable(g)
158158 func SwapAssetToUSDTPairEntry (h) = {
159159 let y = toBase58String(g.caller.bytes)
160160 let x = if ((size(g.payments) == 1))
161161 then g.payments[0]
162162 else throw("Whitelisted Token is required as Attached payment[1].")
163163 let B = getString(this, ("Pair_UV_" + h))
164164 let E = getStringValue(this, ("Voting_Status_" + h))
165165 let W = getIntegerValue(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
166166 let X = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
167167 let Y = fraction(W, X, (X + x.amount))
168168 let Z = (W - Y)
169169 let aa = "F"
170170 let ab = 3
171171 let ac = ((Z * ab) / 1000)
172172 let ad = (Z - ac)
173173 let ae = {
174174 let G = getInteger(this, ((("Total_Swap_Fee_Collected_" + h) + "_") + toBase58String(a)))
175175 if ($isInstanceOf(G, "Int"))
176176 then {
177177 let H = G
178178 H
179179 }
180180 else 0
181181 }
182182 let af = (ae + ac)
183183 let ag = {
184184 let G = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
185185 if ($isInstanceOf(G, "Int"))
186186 then {
187187 let H = G
188188 H
189189 }
190190 else 0
191191 }
192192 let ah = (X + x.amount)
193193 let ai = {
194194 let G = getInteger(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
195195 if ($isInstanceOf(G, "Int"))
196196 then {
197197 let H = G
198198 H
199199 }
200200 else 0
201201 }
202202 let aj = (W - Z)
203203 let ak = {
204204 let G = getIntegerValue(this, ("Total_of_Pair_Txns_" + h))
205205 if ($isInstanceOf(G, "Int"))
206206 then {
207207 let H = G
208208 H
209209 }
210210 else 0
211211 }
212212 let al = (ak + 1)
213213 if ((h == toBase58String(a)))
214214 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input & Attach Whitelisted Asset as an attachment Token in payment[1].")
215215 else if ((B != h))
216216 then throw("Pair is not available in Whitelisted Asset.")
217217 else if ((E == aa))
218218 then throw((h + " is not A Whitelisted Token Yet."))
219219 else if ((x.assetId == a))
220220 then throw("You can't Attach USDT as an Attached Payment. Only Whitelisted Tokens are accepted.")
221221 else if ((x.assetId != fromBase58String(h)))
222222 then throw(("Incorrect asset attached, please attach or send " + h))
223223 else if ((W == 0))
224224 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
225225 else if ((X == 0))
226226 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
227227 else if ((10000000 > Z))
228228 then throw((("Your Attached Asset Amount is very low. Attach More " + h) + " Tokens to Claim the minimum Amount of 10 dollar atleast."))
229229 else if ((Z > W))
230230 then throw((("Pool Only has a Liquidity of " + toString((W / pow(10, 0, 6, 0, 0, UP)))) + " USDT. Add Liquidity into Pool."))
231231 else [IntegerEntry(((("Total_Swap_Fee_Collected_" + h) + "_") + toBase58String(a)), af), IntegerEntry(("Total_of_Pair_Txns_" + h), al), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + h), ah), IntegerEntry(((("Balance_of_" + h) + "_") + toBase58String(a)), aj), ScriptTransfer(g.caller, ad, a), ScriptTransfer(e, ac, a)]
232232 }
233233
234234
235235
236236 @Callable(g)
237237 func SwapUSDTToAssetPairEntry (h) = {
238238 let y = toBase58String(g.caller.bytes)
239239 let x = if ((size(g.payments) == 1))
240240 then g.payments[0]
241241 else throw((("Only " + toBase58String(a)) + " USDT Token is required as an Attached payment[1]."))
242242 let W = getIntegerValue(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
243243 let X = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
244244 let am = fraction(W, X, (W + x.amount))
245245 let Z = (X - am)
246246 let B = getString(this, ("Pair_UV_" + h))
247247 let E = getStringValue(this, ("Voting_Status_" + h))
248248 let aa = "F"
249249 let ab = 3
250250 let ac = ((Z * ab) / 1000)
251251 let ad = (Z - ac)
252252 let an = {
253253 let G = getInteger(this, ("Total_Swap_Fee_Collected_" + h))
254254 if ($isInstanceOf(G, "Int"))
255255 then {
256256 let H = G
257257 H
258258 }
259259 else 0
260260 }
261261 let ao = (an + ac)
262262 let ag = {
263263 let G = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
264264 if ($isInstanceOf(G, "Int"))
265265 then {
266266 let H = G
267267 H
268268 }
269269 else 0
270270 }
271271 let ah = (X - Z)
272272 let ai = {
273273 let G = getInteger(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
274274 if ($isInstanceOf(G, "Int"))
275275 then {
276276 let H = G
277277 H
278278 }
279279 else 0
280280 }
281281 let aj = (W + x.amount)
282282 let ak = {
283283 let G = getIntegerValue(this, ("Total_of_Pair_Txns_" + h))
284284 if ($isInstanceOf(G, "Int"))
285285 then {
286286 let H = G
287287 H
288288 }
289289 else 0
290290 }
291291 let al = (ak + 1)
292292 if ((B != h))
293293 then throw("Pair is not available in Whitelisted Asset.")
294294 else if ((E == aa))
295295 then throw((h + " is not A Whitelisted Token Yet."))
296296 else if ((h == toBase58String(a)))
297297 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input & Attach USDT as an attachment Token in payment[1].")
298298 else if ((x.assetId != a))
299299 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.")
300300 else if ((10000000 > x.amount))
301301 then throw("Your Attached USDT Amount is very low. Attach Atleast 10 USDT to Claim the minimum Tokens.")
302302 else if ((W == 0))
303303 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
304304 else if ((X == 0))
305305 then throw("Swap Pair Need to Add Liquidity first into Pool. Only After that Pair will be activated for Swapping.")
306306 else if ((Z > X))
307307 then throw((("Pool Only has a Liquidity of " + toString(X)) + " Tokens. Add Liquidity into Pool."))
308308 else [IntegerEntry(("Total_Swap_Fee_Collected_" + h), ao), IntegerEntry(("Total_of_Pair_Txns_" + h), al), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + h), ah), IntegerEntry(((("Balance_of_" + h) + "_") + toBase58String(a)), aj), ScriptTransfer(g.caller, ad, fromBase58String(h)), ScriptTransfer(f, ac, fromBase58String(h))]
309309 }
310310
311311
312312
313313 @Callable(g)
314314 func AddLiquidity (h) = {
315315 let y = toBase58String(g.caller.bytes)
316316 let j = value(g.payments[0])
317317 let k = value(g.payments[1])
318318 let B = getString(this, ("Pair_UV_" + h))
319319 let E = getStringValue(this, ("Voting_Status_" + h))
320320 let ap = fromBase58String(valueOrErrorMessage(getString(this, ("LP_" + h)), "LP Token is Missing or May be not Generated."))
321321 let aa = "F"
322322 let W = getIntegerValue(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
323323 let X = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
324324 let aq = valueOrErrorMessage(assetInfo(fromBase58String(h)), (("Asset " + h) + " doesn't exist"))
325325 let S = aq.decimals
326326 let ar = W
327327 let as = X
328328 let at = pow((((ar * 1000000) / as) * pow(10, 0, S, 0, 0, UP)), 0, 1, 0, 0, UP)
329329 let au = (6 + S)
330330 let av = (au / 2)
331331 let aw = fraction(at, j.amount, pow(10, 0, au, 0, 0, UP))
332332 let ax = pow((fraction(j.amount, 1, pow(10, 0, S, 0, 0, UP)) * fraction(k.amount, 1, pow(10, 0, 6, 0, 0, UP))), 0, 5, 1, av, DOWN)
333333 let ay = {
334334 let G = getInteger(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
335335 if ($isInstanceOf(G, "Int"))
336336 then {
337337 let H = G
338338 H
339339 }
340340 else 0
341341 }
342342 let az = (ay + k.amount)
343343 let aA = {
344344 let G = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
345345 if ($isInstanceOf(G, "Int"))
346346 then {
347347 let H = G
348348 H
349349 }
350350 else 0
351351 }
352352 let aB = (aA + j.amount)
353353 let aC = {
354354 let G = getIntegerValue(this, ("Total_LP_" + h))
355355 if ($isInstanceOf(G, "Int"))
356356 then {
357357 let H = G
358358 H
359359 }
360360 else 0
361361 }
362362 let aD = (aC + ax)
363363 if ((B != h))
364364 then throw("Pair is not available in Whitelisted Asset.")
365365 else if ((E == aa))
366366 then throw((h + " is not A Whitelisted Token Yet."))
367367 else if ((h == toBase58String(a)))
368368 then throw("Input can Never be a USDT AssetID. Enter Whitelisted AssetID in input as well as in payment[1] & Attach USDT as an attachment Token in payment[2].")
369369 else if ((size(g.payments) != 2))
370370 then throw("Two attached assets expected as payment in 50%-50%. Kindly Attach payment1 = Token you want to add for Liquidity & payment2 = Equivalent Amount of USDT Token.")
371371 else if ((j.assetId == a))
372372 then throw("You Attached USDT asset in payment[1], please attach only whitelisted Token in payment[1] along with USDT in payment[2].")
373373 else if ((j.assetId != fromBase58String(h)))
374374 then throw("Incorrect asset attached for Liquidity in payment[1], please attach String Asset or Whitelisted Token only.")
375375 else if ((j.assetId != fromBase58String(h)))
376376 then throw("Incorrect asset attached for Liquidity in payment[1], please attach String Asset or Whitelisted Token only.")
377377 else if ((k.assetId != a))
378378 then throw("Wrong Asset Attached in payments[2], Please attach payment[1] = Liquidity Token & payment[2] = USDT Token.")
379379 else if ((10000000 > k.amount))
380380 then throw("please attach atleast 10 USDT in payment[2] & Equivalent worth of Token in payment[1]")
381381 else if ((k.amount != aw))
382382 then throw((((((("Attached payment[2] qty is not matching as per attached payment[1].payment[2] must be as [" + toString(aw)) + "] or ") + toString(fraction(aw, 1, 1000000))) + ".") + takeRight(toString(aw), 6)) + " USDT."))
383383 else if ((1 > ax))
384384 then throw((("LP Token Outcome is going below " + toString(av)) + " Decimals. Please Attach min. 1 LP token or 10 USDT Atleast."))
385385 else [IntegerEntry(((("Balance_of_" + h) + "_") + toBase58String(a)), az), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + h), aB), IntegerEntry(("Total_LP_" + h), aD), Reissue(ap, ax, true), ScriptTransfer(g.caller, ax, ap)]
386386 }
387387
388388
389389
390390 @Callable(g)
391391 func RemoveLiquidity (h) = {
392392 let y = toBase58String(g.caller.bytes)
393393 let x = if ((size(g.payments) == 1))
394394 then g.payments[0]
395395 else throw("No payment attached, Please Attach LP Token as payment[1].")
396396 let B = getString(this, ("Pair_UV_" + h))
397397 let E = getStringValue(this, ("Voting_Status_" + h))
398398 let aE = fromBase58String(valueOrErrorMessage(getString(this, ("LP_" + h)), "LP Token is Missing or not Generated."))
399399 let aa = "F"
400400 let aq = valueOrErrorMessage(assetInfo(fromBase58String(h)), (("Asset " + h) + " doesn't exist"))
401401 let S = aq.decimals
402402 let au = (6 + S)
403403 let av = (au / 2)
404404 let aF = getIntegerValue(this, ("Total_LP_" + h))
405405 let aG = pow(fraction(x.amount, pow(10, 0, 8, 0, 0, UP), aF), 6, 1, 0, 6, UP)
406406 let W = getIntegerValue(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
407407 let X = getIntegerValue(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
408408 let aH = fraction(W, aG, pow(10, 0, 8, 0, 0, UP))
409409 let aI = fraction(X, aG, pow(10, 0, 8, 0, 0, UP))
410410 let ay = {
411411 let G = getInteger(this, ((("Balance_of_" + h) + "_") + toBase58String(a)))
412412 if ($isInstanceOf(G, "Int"))
413413 then {
414414 let H = G
415415 H
416416 }
417417 else 0
418418 }
419419 let az = (ay - aH)
420420 let aA = {
421421 let G = getInteger(this, ((("Balance_of_" + toBase58String(a)) + "_") + h))
422422 if ($isInstanceOf(G, "Int"))
423423 then {
424424 let H = G
425425 H
426426 }
427427 else 0
428428 }
429429 let aB = (aA - aI)
430430 let aC = {
431431 let G = getIntegerValue(this, ("Total_LP_" + h))
432432 if ($isInstanceOf(G, "Int"))
433433 then {
434434 let H = G
435435 H
436436 }
437437 else 0
438438 }
439439 let aD = (aC - x.amount)
440440 if ((B != h))
441441 then throw("Pair is not available in Whitelist.")
442442 else if ((E == aa))
443443 then throw((h + " is not A Whitelist Token Yet."))
444444 else if ((fromBase58String(h) == a))
445445 then throw("Don't choose USDT AssetID as Input, Only Whitelisted Asset as Input String & Attach LP Tokens as payment[1]")
446446 else if ((x.assetId != aE))
447447 then throw("Wrong Asset is attached in payment[1] or LP Token Not Found or Missing.")
448448 else if ((1 > aG))
449449 then throw("Your LP Token amount % is very low to convert.")
450450 else if ((1 > aH))
451451 then throw("Your LP Token conversion amount is very low to convert or less than 0.000001 USDT.")
452452 else if ((1 > aI))
453453 then throw("Your LP Token conversion amount is very low to convert or less than fraction value of Token.")
454454 else [IntegerEntry("Withdraw_LP_Percentage", aG), Burn(aE, x.amount), IntegerEntry(("Total_LP_" + h), aD), IntegerEntry(((("Balance_of_" + h) + "_") + toBase58String(a)), az), IntegerEntry(((("Balance_of_" + toBase58String(a)) + "_") + h), aB), ScriptTransfer(g.caller, aH, a), ScriptTransfer(g.caller, aI, fromBase58String(h))]
455455 }
456456
457457
458458 @Verifier(aJ)
459459 func aK () = {
460460 let G = aJ
461461 sigVerify(aJ.bodyBytes, aJ.proofs[0], aJ.senderPublicKey)
462462 }
463463

github/deemru/w8io/169f3d6 
74.11 ms