tx · 7xcn3V31q7UwN2HMFibSaj3zQtRMec2wXCxuN5XkK86V

3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV:  -0.01500000 Waves

2022.08.18 15:37 [2189920] smart account 3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV > SELF 0.00000000 Waves

{ "type": 13, "id": "7xcn3V31q7UwN2HMFibSaj3zQtRMec2wXCxuN5XkK86V", "fee": 1500000, "feeAssetId": null, "timestamp": 1660826313645, "version": 1, "sender": "3N8bnD2caKnxdcTqvrJUEkDe3XebgfwWjSV", "senderPublicKey": "8KXPjDuC8ffL9qjNuDBLnkvJKbMojhZYcnm2o75UCyun", "proofs": [ "3gMUC8o3ANq6whCGZUyWShMAY2mcN6H9y4RqQbK4Fm7pcVdTzyresnWmviwUsWP2srfSeZLPJgzw1X5BNR3ZCcfF" ], "script": "base64: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bnRyYWN0CQEAAAALa2V5RmFjdENudHIAAAAAAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAFYW10QXMJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAAAtrZXlBbXRBc3NldAAAAAAEAAAAB3ByaWNlQXMJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAAA1rZXlQcmljZUFzc2V0AAAAAAQAAAAIaVByaWNlQXMJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAHcHJpY2VBcwQAAAAGaUFtdEFzCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEFAAAABWFtdEFzCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAAAZpQW10QXMJAAGkAAAAAQUAAAAIaVByaWNlQXMFAAAAA1NFUAEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAABQAAAANTRVABAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAAAXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQFAAAABHVuaXQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAJAAJZAAAAAQUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAUAAAAEdW5pdAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAALbXVzdE1hbmFnZXIAAAABAAAAAWkEAAAAAnBkCQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkBAAAAAckbWF0Y2gwCQEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAnBrBQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAAnBrBgUAAAACcGQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwYFAAAAAnBkCQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAAlnZXRBZG1pbnMAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAAA9rZXlBZG1pblB1YktleXMAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDADCQAAAAAAAAIJAAExAAAAAQUAAAABcwAAAAAAAAAAAAUAAAADbmlsCQAEtQAAAAIFAAAAAXMFAAAAA1NFUAUAAAADbmlsAQAAAAltdXN0QWRtaW4AAAABAAAAAWkDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkBAAAACWdldEFkbWlucwAAAAAJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQEAAAAIbXVzdFBvb2wAAAABAAAAAWkDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMcG9vbENvbnRyYWN0BgkAAAIAAAABAgAAABdjYWxsZXIgbXVzdCBiZSB0aGUgcG9vbAAAAAgAAAABaQEAAAALY29uc3RydWN0b3IAAAABAAAAC3Bvb2xBZGRyZXNzBAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAtrZXlQb29sQWRkcgAAAAAFAAAAC3Bvb2xBZGRyZXNzBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACnNldE1hbmFnZXIAAAABAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAAJZAAAAAQUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkDCQAAAAAAAAIFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAAFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA5jb25maXJtTWFuYWdlcgAAAAAEAAAAAnBtCQEAAAAdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAVoYXNQTQMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAJwbQYJAAACAAAAAQIAAAASTm8gcGVuZGluZyBtYW5hZ2VyAwkAAAAAAAACBQAAAAVoYXNQTQUAAAAFaGFzUE0EAAAAB2NoZWNrUE0DCQAAAAAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkBAAAABXZhbHVlAAAAAQUAAAACcG0GCQAAAgAAAAECAAAAG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAAHY2hlY2tQTQUAAAAHY2hlY2tQTQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAAJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQUAAAACcG0JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAJc2V0QWRtaW5zAAAAAQAAAAxhZG1pblB1YktleXMEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2tleUFkbWluUHViS2V5cwAAAAAJAAS5AAAAAgUAAAAMYWRtaW5QdWJLZXlzBQAAAANTRVAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAATdW5zdGFrZUFuZEdldE9uZVRrbgAAAAYAAAAGYW1vdW50AAAACmV4Y2hSZXN1bHQAAAAHbm90VXNlZAAAAAlvdXRBbW91bnQAAAAKb3V0QXNzZXRJZAAAAAhzbGlwcGFnZQQAAAANY2hlY2tQYXltZW50cwMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAANTm8gcG1udHMgZXhwZAYDCQAAAAAAAAIFAAAADWNoZWNrUGF5bWVudHMFAAAADWNoZWNrUGF5bWVudHMEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAApmYWN0b3J5Q2ZnCQEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAEAAAACWxwQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4TFBBc0lkBAAAAAdzdGFraW5nCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAAA9pZHhGYWN0U3Rha0NudHICAAAACldyIHN0IGFkZHIEAAAACnVuc3Rha2VJbnYJAAP8AAAABAUAAAAHc3Rha2luZwIAAAAHdW5zdGFrZQkABEwAAAACCQACWAAAAAEFAAAACWxwQXNzZXRJZAkABEwAAAACBQAAAAZhbW91bnQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAp1bnN0YWtlSW52BQAAAAp1bnN0YWtlSW52BAAAAAlnZXRPbmVUa24JAAP9AAAABAUAAAAMcG9vbENvbnRyYWN0AgAAAAlnZXRPbmVUa24JAARMAAAAAgUAAAAKZXhjaFJlc3VsdAkABEwAAAACBQAAAAdub3RVc2VkCQAETAAAAAIFAAAACW91dEFtb3VudAkABEwAAAACBQAAAApvdXRBc3NldElkCQAETAAAAAIFAAAACHNsaXBwYWdlBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACWxwQXNzZXRJZAUAAAAGYW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAACWdldE9uZVRrbgUAAAAJZ2V0T25lVGtuBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAGc2V0QW1wAAAAAQAAAANhbXAEAAAAC2NoZWNrQ2FsbGVyCQEAAAAJbXVzdEFkbWluAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAARyZXMxCQAD/AAAAAQFAAAADHBvb2xDb250cmFjdAIAAAAEc2V0UwkABEwAAAACCQEAAAAGa2V5QW1wAAAAAAkABEwAAAACBQAAAANhbXAFAAAAA25pbAUAAAADbmlsBAAAAARyZXMyCQAD/AAAAAQFAAAADHBvb2xDb250cmFjdAIAAAAEc2V0UwkABEwAAAACCQEAAAANa2V5QW1wSGlzdG9yeQAAAAEFAAAABmhlaWdodAkABEwAAAACBQAAAANhbXAFAAAAA25pbAUAAAADbmlsCQAFFAAAAAIFAAAAA25pbAkABRQAAAACBQAAAARyZXMxBQAAAARyZXMyCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAABJlbnN1cmVDYW5HZXRPbmVUa24AAAABAAAABmNhbGxlcgQAAAALY2hlY2tDYWxsZXIJAQAAAAhtdXN0UG9vbAAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAMZW5zdXJlQ2FuUHV0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADHBvb2xDb250cmFjdAkBAAAAEWxhc3RQdXRPbmVUa25DYWxsAAAAAQUAAAAGY2FsbGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAQAAAAPcGVybWl0dGVkSGVpZ2h0CQAAZAAAAAIFAAAAA2ludAkBAAAABXZhbHVlAAAAAQkABBoAAAACBQAAAAxwb29sQ29udHJhY3QFAAAABWRlbGF5BAAAABNpc1JlYWR5Zm9yUHV0T25lVGtuCQAAZwAAAAIFAAAABmhlaWdodAUAAAAPcGVybWl0dGVkSGVpZ2h0BAAAAApuZWVkQmxvY2tzCQAAZQAAAAIFAAAAD3Blcm1pdHRlZEhlaWdodAUAAAAGaGVpZ2h0AwUAAAATaXNSZWFkeWZvclB1dE9uZVRrbgYJAAACAAAAAQkABLkAAAACCQAETAAAAAICAAAAD3lvdSBzaG91bGQgd2FpdAkABEwAAAACCQABpAAAAAEFAAAACm5lZWRCbG9ja3MJAARMAAAAAgIAAAAhYmxvY2tzIG1vcmUgdG8gcGVyZm9ybSB0aGUgYWN0aW9uBQAAAANuaWwCAAAAASAGAwkAAAAAAAACBQAAAAxlbnN1cmVDYW5QdXQFAAAADGVuc3VyZUNhblB1dAQAAAAMZW5zdXJlQ2FuR2V0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAADHBvb2xDb250cmFjdAkBAAAAEWxhc3RHZXRPbmVUa25DYWxsAAAAAQUAAAAGY2FsbGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAQAAAAPcGVybWl0dGVkSGVpZ2h0CQAAZAAAAAIFAAAAA2ludAkBAAAABXZhbHVlAAAAAQkABBoAAAACBQAAAAxwb29sQ29udHJhY3QFAAAABWRlbGF5BAAAABNpc1JlYWR5Zm9yR2V0T25lVGtuCQAAZwAAAAIFAAAABmhlaWdodAUAAAAPcGVybWl0dGVkSGVpZ2h0BAAAAApuZWVkQmxvY2tzCQAAZQAAAAIFAAAAD3Blcm1pdHRlZEhlaWdodAUAAAAGaGVpZ2h0AwUAAAATaXNSZWFkeWZvckdldE9uZVRrbgYJAAACAAAAAQkABLkAAAACCQAETAAAAAICAAAAD3lvdSBzaG91bGQgd2FpdAkABEwAAAACCQABpAAAAAEFAAAACm5lZWRCbG9ja3MJAARMAAAAAgIAAAAhYmxvY2tzIG1vcmUgdG8gcGVyZm9ybSB0aGUgYWN0aW9uBQAAAANuaWwCAAAAASAGAwkAAAAAAAACBQAAAAxlbnN1cmVDYW5HZXQFAAAADGVuc3VyZUNhbkdldAQAAAAEc2V0SQkAA/wAAAAEBQAAAAxwb29sQ29udHJhY3QCAAAABHNldEkJAARMAAAAAgkBAAAAEWxhc3RQdXRPbmVUa25DYWxsAAAAAQUAAAAGY2FsbGVyCQAETAAAAAIFAAAABmhlaWdodAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABHNldEkFAAAABHNldEkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAASZW5zdXJlQ2FuUHV0T25lVGtuAAAAAQAAAAZjYWxsZXIEAAAAC2NoZWNrQ2FsbGVyCQEAAAAIbXVzdFBvb2wAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAADGVuc3VyZUNhblB1dAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAABFsYXN0UHV0T25lVGtuQ2FsbAAAAAEFAAAABmNhbGxlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAEAAAAD3Blcm1pdHRlZEhlaWdodAkAAGQAAAACBQAAAANpbnQJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAMcG9vbENvbnRyYWN0BQAAAAVkZWxheQQAAAATaXNSZWFkeWZvclB1dE9uZVRrbgkAAGcAAAACBQAAAAZoZWlnaHQFAAAAD3Blcm1pdHRlZEhlaWdodAQAAAAKbmVlZEJsb2NrcwkAAGUAAAACBQAAAA9wZXJtaXR0ZWRIZWlnaHQFAAAABmhlaWdodAMFAAAAE2lzUmVhZHlmb3JQdXRPbmVUa24GCQAAAgAAAAEJAAS5AAAAAgkABEwAAAACAgAAAA95b3Ugc2hvdWxkIHdhaXQJAARMAAAAAgkAAaQAAAABBQAAAApuZWVkQmxvY2tzCQAETAAAAAICAAAAIWJsb2NrcyBtb3JlIHRvIHBlcmZvcm0gdGhlIGFjdGlvbgUAAAADbmlsAgAAAAEgBgMJAAAAAAAAAgUAAAAMZW5zdXJlQ2FuUHV0BQAAAAxlbnN1cmVDYW5QdXQEAAAADGVuc3VyZUNhbkdldAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAxwb29sQ29udHJhY3QJAQAAABFsYXN0R2V0T25lVGtuQ2FsbAAAAAEFAAAABmNhbGxlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANpbnQFAAAAByRtYXRjaDAEAAAAD3Blcm1pdHRlZEhlaWdodAkAAGQAAAACBQAAAANpbnQJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAMcG9vbENvbnRyYWN0BQAAAAVkZWxheQQAAAATaXNSZWFkeWZvckdldE9uZVRrbgkAAGcAAAACBQAAAAZoZWlnaHQFAAAAD3Blcm1pdHRlZEhlaWdodAQAAAAKbmVlZEJsb2NrcwkAAGUAAAACBQAAAA9wZXJtaXR0ZWRIZWlnaHQFAAAABmhlaWdodAMFAAAAE2lzUmVhZHlmb3JHZXRPbmVUa24GCQAAAgAAAAEJAAS5AAAAAgkABEwAAAACAgAAAA95b3Ugc2hvdWxkIHdhaXQJAARMAAAAAgkAAaQAAAABBQAAAApuZWVkQmxvY2tzCQAETAAAAAICAAAAIWJsb2NrcyBtb3JlIHRvIHBlcmZvcm0gdGhlIGFjdGlvbgUAAAADbmlsAgAAAAEgBgMJAAAAAAAAAgUAAAAMZW5zdXJlQ2FuR2V0BQAAAAxlbnN1cmVDYW5HZXQEAAAABHNldEkJAAP8AAAABAUAAAAMcG9vbENvbnRyYWN0AgAAAARzZXRJCQAETAAAAAIJAQAAABFsYXN0UHV0T25lVGtuQ2FsbAAAAAEFAAAABmNhbGxlcgkABEwAAAACBQAAAAZoZWlnaHQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAARzZXRJBQAAAARzZXRJBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAPdGFyZ2V0UHVibGljS2V5BAAAAAckbWF0Y2gwCQEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAnBrBQAAAAckbWF0Y2gwBQAAAAJwawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAD3RhcmdldFB1YmxpY0tleQ7KSFU=", "chainId": 84, "height": 2189920, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 43M1iQHGWVQYJZUbakYaWq6WtKtYShR5yZKZkGg29GV3 Next: AjrZYyknhMQJfF39Xkg6GTfMnwUnNN7fcACqoLA54hSA Diff:
OldNewDifferences
1515
1616 let g = 1
1717
18-func h () = "%s__factoryContract"
18+let h = "%s__delay"
19+
20+func i () = "%s__factoryContract"
1921
2022
21-func i () = "%s__managerPublicKey"
23+func j () = "%s__managerPublicKey"
2224
2325
24-func j () = "%s__pendingManagerPublicKey"
26+func k () = "%s__pendingManagerPublicKey"
2527
2628
27-func k () = "%s__poolAddress"
29+func l () = "%s__poolAddress"
2830
2931
30-func l () = "%s__amountAsset"
32+func m () = "%s__amountAsset"
3133
3234
33-func m () = "%s__priceAsset"
35+func n () = "%s__priceAsset"
3436
3537
36-func n () = "%s__adminPubKeys"
38+func o () = "%s__adminPubKeys"
3739
3840
39-func o () = "%s__amp"
41+func p () = "%s__amp"
4042
4143
42-func p (q) = ("%s%d__amp__" + toString(q))
44+func q (r) = ("%s%d__amp__" + toString(r))
4345
4446
45-func r () = "%s__factoryConfig"
47+func s (t) = makeString(["%s%s__lastGetOneTknCall", t], a)
4648
4749
48-func s (t,u) = (((("%d%d%s__" + t) + "__") + u) + "__config")
50+func u (t) = makeString(["%s%s__lastPutOneTknCall", t], a)
4951
5052
51-func v (w) = ("%s%s%s__mappings__baseAsset2internalId__" + w)
53+func v () = "%s__factoryConfig"
5254
5355
54-func x (y,z) = valueOrErrorMessage(getString(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
56+func w (x,y) = (((("%d%d%s__" + x) + "__") + y) + "__config")
5557
5658
57-func A (y,z) = valueOrErrorMessage(getInteger(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
59+func z (A) = ("%s%s%s__mappings__baseAsset2internalId__" + A)
5860
5961
60-let B = addressFromStringValue(x(this, k()))
62+func B (C,D) = valueOrErrorMessage(getString(C, D), makeString(["mandatory ", toString(C), ".", D, " not defined"], ""))
6163
62-let C = addressFromStringValue(x(B, h()))
6364
64-func D () = {
65- let E = x(B, l())
66- let F = x(B, m())
67- let G = A(C, v(F))
68- let t = A(C, v(E))
69- split(x(C, s(toString(t), toString(G))), a)
65+func E (C,D) = valueOrErrorMessage(getInteger(C, D), makeString(["mandatory ", toString(C), ".", D, " not defined"], ""))
66+
67+
68+let F = addressFromStringValue(B(this, l()))
69+
70+let G = addressFromStringValue(B(F, i()))
71+
72+func H () = {
73+ let I = B(F, m())
74+ let J = B(F, n())
75+ let K = E(G, z(J))
76+ let x = E(G, z(I))
77+ split(B(G, w(toString(x), toString(K))), a)
7078 }
7179
7280
73-func H () = split(x(C, r()), a)
81+func L () = split(B(G, v()), a)
7482
7583
76-func I () = {
77- let J = getString(i())
78- if ($isInstanceOf(J, "String"))
84+func M () = {
85+ let N = getString(j())
86+ if ($isInstanceOf(N, "String"))
7987 then {
80- let K = J
81- fromBase58String(K)
88+ let O = N
89+ fromBase58String(O)
8290 }
83- else if ($isInstanceOf(J, "Unit"))
91+ else if ($isInstanceOf(N, "Unit"))
8492 then unit
8593 else throw("Match error")
8694 }
8795
8896
89-func L () = {
90- let J = getString(j())
91- if ($isInstanceOf(J, "String"))
97+func P () = {
98+ let N = getString(k())
99+ if ($isInstanceOf(N, "String"))
92100 then {
93- let K = J
94- fromBase58String(K)
101+ let O = N
102+ fromBase58String(O)
95103 }
96- else if ($isInstanceOf(J, "Unit"))
104+ else if ($isInstanceOf(N, "Unit"))
97105 then unit
98106 else throw("Match error")
99107 }
100108
101109
102-func M (N) = {
103- let O = throw("Permission denied")
104- let J = I()
105- if ($isInstanceOf(J, "ByteVector"))
110+func Q (R) = {
111+ let S = throw("Permission denied")
112+ let N = M()
113+ if ($isInstanceOf(N, "ByteVector"))
106114 then {
107- let P = J
108- if ((N.callerPublicKey == P))
115+ let T = N
116+ if ((R.callerPublicKey == T))
109117 then true
110- else O
118+ else S
111119 }
112- else if ($isInstanceOf(J, "Unit"))
113- then if ((N.caller == this))
120+ else if ($isInstanceOf(N, "Unit"))
121+ then if ((R.caller == this))
114122 then true
115- else O
123+ else S
116124 else throw("Match error")
117125 }
118126
119127
120-func Q () = {
121- let J = getString(n())
122- if ($isInstanceOf(J, "String"))
128+func U () = {
129+ let N = getString(o())
130+ if ($isInstanceOf(N, "String"))
123131 then {
124- let K = J
125- if ((size(K) == 0))
132+ let O = N
133+ if ((size(O) == 0))
126134 then nil
127- else split(K, a)
135+ else split(O, a)
128136 }
129137 else nil
130138 }
131139
132140
133-func R (N) = if (containsElement(Q(), toBase58String(N.callerPublicKey)))
141+func V (R) = if (containsElement(U(), toBase58String(R.callerPublicKey)))
134142 then true
135- else M(N)
143+ else Q(R)
136144
137145
138-func S (N) = if ((N.caller == B))
146+func W (R) = if ((R.caller == F))
139147 then true
140148 else throw("caller must be the pool")
141149
142150
143-@Callable(N)
144-func constructor (T) = {
145- let U = M(N)
146- if ((U == U))
147- then [StringEntry(k(), T)]
151+@Callable(R)
152+func constructor (X) = {
153+ let Y = Q(R)
154+ if ((Y == Y))
155+ then [StringEntry(l(), X)]
148156 else throw("Strict value is not equal to itself.")
149157 }
150158
151159
152160
153-@Callable(N)
154-func setManager (V) = {
155- let U = M(N)
156- if ((U == U))
161+@Callable(R)
162+func setManager (Z) = {
163+ let Y = Q(R)
164+ if ((Y == Y))
157165 then {
158- let W = fromBase58String(V)
159- if ((W == W))
160- then [StringEntry(j(), V)]
166+ let aa = fromBase58String(Z)
167+ if ((aa == aa))
168+ then [StringEntry(k(), Z)]
161169 else throw("Strict value is not equal to itself.")
162170 }
163171 else throw("Strict value is not equal to itself.")
165173
166174
167175
168-@Callable(N)
176+@Callable(R)
169177 func confirmManager () = {
170- let X = L()
171- let Y = if (isDefined(X))
178+ let ab = P()
179+ let ac = if (isDefined(ab))
172180 then true
173181 else throw("No pending manager")
174- if ((Y == Y))
182+ if ((ac == ac))
175183 then {
176- let Z = if ((N.callerPublicKey == value(X)))
184+ let ad = if ((R.callerPublicKey == value(ab)))
177185 then true
178186 else throw("You are not pending manager")
179- if ((Z == Z))
180- then [StringEntry(i(), toBase58String(value(X))), DeleteEntry(j())]
187+ if ((ad == ad))
188+ then [StringEntry(j(), toBase58String(value(ab))), DeleteEntry(k())]
181189 else throw("Strict value is not equal to itself.")
182190 }
183191 else throw("Strict value is not equal to itself.")
185193
186194
187195
188-@Callable(N)
189-func setAdmins (aa) = {
190- let U = M(N)
191- if ((U == U))
192- then [StringEntry(n(), makeString(aa, a))]
196+@Callable(R)
197+func setAdmins (ae) = {
198+ let Y = Q(R)
199+ if ((Y == Y))
200+ then [StringEntry(o(), makeString(ae, a))]
193201 else throw("Strict value is not equal to itself.")
194202 }
195203
196204
197205
198-@Callable(N)
199-func unstakeAndGetOneTkn (ab,ac,ad,ae,af,ag) = {
200- let ah = if ((size(N.payments) != 0))
206+@Callable(R)
207+func unstakeAndGetOneTkn (af,ag,ah,ai,aj,ak) = {
208+ let al = if ((size(R.payments) != 0))
201209 then throw("No pmnts expd")
202210 else true
203- if ((ah == ah))
211+ if ((al == al))
204212 then {
205- let ai = D()
206- let aj = H()
207- let ak = fromBase58String(ai[d])
208- let al = valueOrErrorMessage(addressFromString(aj[g]), "Wr st addr")
209- let am = invoke(al, "unstake", [toBase58String(ak), ab], nil)
210- if ((am == am))
213+ let am = H()
214+ let an = L()
215+ let ao = fromBase58String(am[d])
216+ let ap = valueOrErrorMessage(addressFromString(an[g]), "Wr st addr")
217+ let aq = invoke(ap, "unstake", [toBase58String(ao), af], nil)
218+ if ((aq == aq))
211219 then {
212- let an = invoke(B, "getOneTkn", [ac, ad, ae, af, ag], [AttachedPayment(ak, ab)])
213- if ((an == an))
220+ let ar = reentrantInvoke(F, "getOneTkn", [ag, ah, ai, aj, ak], [AttachedPayment(ao, af)])
221+ if ((ar == ar))
214222 then nil
215223 else throw("Strict value is not equal to itself.")
216224 }
221229
222230
223231
224-@Callable(N)
225-func setAmp (ao) = {
226- let U = R(N)
227- if ((U == U))
232+@Callable(R)
233+func setAmp (as) = {
234+ let Y = V(R)
235+ if ((Y == Y))
228236 then {
229- let ap = invoke(B, "setS", [o(), ao], nil)
230- let aq = invoke(B, "setS", [p(height), ao], nil)
231- $Tuple2(nil, $Tuple2(ap, aq))
237+ let at = invoke(F, "setS", [p(), as], nil)
238+ let au = invoke(F, "setS", [q(height), as], nil)
239+ $Tuple2(nil, $Tuple2(at, au))
232240 }
233241 else throw("Strict value is not equal to itself.")
234242 }
235243
236244
237-@Verifier(ar)
238-func as () = {
239- let at = {
240- let J = I()
241- if ($isInstanceOf(J, "ByteVector"))
245+
246+@Callable(R)
247+func ensureCanGetOneTkn (t) = {
248+ let Y = W(R)
249+ if ((Y == Y))
250+ then {
251+ let av = {
252+ let N = getInteger(F, u(t))
253+ if ($isInstanceOf(N, "Int"))
254+ then {
255+ let aw = N
256+ let ax = (aw + value(getInteger(F, h)))
257+ let ay = (height >= ax)
258+ let az = (ax - height)
259+ if (ay)
260+ then true
261+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
262+ }
263+ else true
264+ }
265+ if ((av == av))
266+ then {
267+ let aA = {
268+ let N = getInteger(F, s(t))
269+ if ($isInstanceOf(N, "Int"))
270+ then {
271+ let aw = N
272+ let ax = (aw + value(getInteger(F, h)))
273+ let aB = (height >= ax)
274+ let az = (ax - height)
275+ if (aB)
276+ then true
277+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
278+ }
279+ else true
280+ }
281+ if ((aA == aA))
282+ then {
283+ let aC = invoke(F, "setI", [u(t), height], nil)
284+ if ((aC == aC))
285+ then nil
286+ else throw("Strict value is not equal to itself.")
287+ }
288+ else throw("Strict value is not equal to itself.")
289+ }
290+ else throw("Strict value is not equal to itself.")
291+ }
292+ else throw("Strict value is not equal to itself.")
293+ }
294+
295+
296+
297+@Callable(R)
298+func ensureCanPutOneTkn (t) = {
299+ let Y = W(R)
300+ if ((Y == Y))
301+ then {
302+ let av = {
303+ let N = getInteger(F, u(t))
304+ if ($isInstanceOf(N, "Int"))
305+ then {
306+ let aw = N
307+ let ax = (aw + value(getInteger(F, h)))
308+ let ay = (height >= ax)
309+ let az = (ax - height)
310+ if (ay)
311+ then true
312+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
313+ }
314+ else true
315+ }
316+ if ((av == av))
317+ then {
318+ let aA = {
319+ let N = getInteger(F, s(t))
320+ if ($isInstanceOf(N, "Int"))
321+ then {
322+ let aw = N
323+ let ax = (aw + value(getInteger(F, h)))
324+ let aB = (height >= ax)
325+ let az = (ax - height)
326+ if (aB)
327+ then true
328+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
329+ }
330+ else true
331+ }
332+ if ((aA == aA))
333+ then {
334+ let aC = invoke(F, "setI", [u(t), height], nil)
335+ if ((aC == aC))
336+ then nil
337+ else throw("Strict value is not equal to itself.")
338+ }
339+ else throw("Strict value is not equal to itself.")
340+ }
341+ else throw("Strict value is not equal to itself.")
342+ }
343+ else throw("Strict value is not equal to itself.")
344+ }
345+
346+
347+@Verifier(aD)
348+func aE () = {
349+ let aF = {
350+ let N = M()
351+ if ($isInstanceOf(N, "ByteVector"))
242352 then {
243- let P = J
244- P
353+ let T = N
354+ T
245355 }
246- else if ($isInstanceOf(J, "Unit"))
247- then ar.senderPublicKey
356+ else if ($isInstanceOf(N, "Unit"))
357+ then aD.senderPublicKey
248358 else throw("Match error")
249359 }
250- sigVerify(ar.bodyBytes, ar.proofs[0], at)
360+ sigVerify(aD.bodyBytes, aD.proofs[0], aF)
251361 }
252362
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = ""
77
88 let c = 1
99
1010 let d = 3
1111
1212 let e = 4
1313
1414 let f = 5
1515
1616 let g = 1
1717
18-func h () = "%s__factoryContract"
18+let h = "%s__delay"
19+
20+func i () = "%s__factoryContract"
1921
2022
21-func i () = "%s__managerPublicKey"
23+func j () = "%s__managerPublicKey"
2224
2325
24-func j () = "%s__pendingManagerPublicKey"
26+func k () = "%s__pendingManagerPublicKey"
2527
2628
27-func k () = "%s__poolAddress"
29+func l () = "%s__poolAddress"
2830
2931
30-func l () = "%s__amountAsset"
32+func m () = "%s__amountAsset"
3133
3234
33-func m () = "%s__priceAsset"
35+func n () = "%s__priceAsset"
3436
3537
36-func n () = "%s__adminPubKeys"
38+func o () = "%s__adminPubKeys"
3739
3840
39-func o () = "%s__amp"
41+func p () = "%s__amp"
4042
4143
42-func p (q) = ("%s%d__amp__" + toString(q))
44+func q (r) = ("%s%d__amp__" + toString(r))
4345
4446
45-func r () = "%s__factoryConfig"
47+func s (t) = makeString(["%s%s__lastGetOneTknCall", t], a)
4648
4749
48-func s (t,u) = (((("%d%d%s__" + t) + "__") + u) + "__config")
50+func u (t) = makeString(["%s%s__lastPutOneTknCall", t], a)
4951
5052
51-func v (w) = ("%s%s%s__mappings__baseAsset2internalId__" + w)
53+func v () = "%s__factoryConfig"
5254
5355
54-func x (y,z) = valueOrErrorMessage(getString(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
56+func w (x,y) = (((("%d%d%s__" + x) + "__") + y) + "__config")
5557
5658
57-func A (y,z) = valueOrErrorMessage(getInteger(y, z), makeString(["mandatory ", toString(y), ".", z, " not defined"], ""))
59+func z (A) = ("%s%s%s__mappings__baseAsset2internalId__" + A)
5860
5961
60-let B = addressFromStringValue(x(this, k()))
62+func B (C,D) = valueOrErrorMessage(getString(C, D), makeString(["mandatory ", toString(C), ".", D, " not defined"], ""))
6163
62-let C = addressFromStringValue(x(B, h()))
6364
64-func D () = {
65- let E = x(B, l())
66- let F = x(B, m())
67- let G = A(C, v(F))
68- let t = A(C, v(E))
69- split(x(C, s(toString(t), toString(G))), a)
65+func E (C,D) = valueOrErrorMessage(getInteger(C, D), makeString(["mandatory ", toString(C), ".", D, " not defined"], ""))
66+
67+
68+let F = addressFromStringValue(B(this, l()))
69+
70+let G = addressFromStringValue(B(F, i()))
71+
72+func H () = {
73+ let I = B(F, m())
74+ let J = B(F, n())
75+ let K = E(G, z(J))
76+ let x = E(G, z(I))
77+ split(B(G, w(toString(x), toString(K))), a)
7078 }
7179
7280
73-func H () = split(x(C, r()), a)
81+func L () = split(B(G, v()), a)
7482
7583
76-func I () = {
77- let J = getString(i())
78- if ($isInstanceOf(J, "String"))
84+func M () = {
85+ let N = getString(j())
86+ if ($isInstanceOf(N, "String"))
7987 then {
80- let K = J
81- fromBase58String(K)
88+ let O = N
89+ fromBase58String(O)
8290 }
83- else if ($isInstanceOf(J, "Unit"))
91+ else if ($isInstanceOf(N, "Unit"))
8492 then unit
8593 else throw("Match error")
8694 }
8795
8896
89-func L () = {
90- let J = getString(j())
91- if ($isInstanceOf(J, "String"))
97+func P () = {
98+ let N = getString(k())
99+ if ($isInstanceOf(N, "String"))
92100 then {
93- let K = J
94- fromBase58String(K)
101+ let O = N
102+ fromBase58String(O)
95103 }
96- else if ($isInstanceOf(J, "Unit"))
104+ else if ($isInstanceOf(N, "Unit"))
97105 then unit
98106 else throw("Match error")
99107 }
100108
101109
102-func M (N) = {
103- let O = throw("Permission denied")
104- let J = I()
105- if ($isInstanceOf(J, "ByteVector"))
110+func Q (R) = {
111+ let S = throw("Permission denied")
112+ let N = M()
113+ if ($isInstanceOf(N, "ByteVector"))
106114 then {
107- let P = J
108- if ((N.callerPublicKey == P))
115+ let T = N
116+ if ((R.callerPublicKey == T))
109117 then true
110- else O
118+ else S
111119 }
112- else if ($isInstanceOf(J, "Unit"))
113- then if ((N.caller == this))
120+ else if ($isInstanceOf(N, "Unit"))
121+ then if ((R.caller == this))
114122 then true
115- else O
123+ else S
116124 else throw("Match error")
117125 }
118126
119127
120-func Q () = {
121- let J = getString(n())
122- if ($isInstanceOf(J, "String"))
128+func U () = {
129+ let N = getString(o())
130+ if ($isInstanceOf(N, "String"))
123131 then {
124- let K = J
125- if ((size(K) == 0))
132+ let O = N
133+ if ((size(O) == 0))
126134 then nil
127- else split(K, a)
135+ else split(O, a)
128136 }
129137 else nil
130138 }
131139
132140
133-func R (N) = if (containsElement(Q(), toBase58String(N.callerPublicKey)))
141+func V (R) = if (containsElement(U(), toBase58String(R.callerPublicKey)))
134142 then true
135- else M(N)
143+ else Q(R)
136144
137145
138-func S (N) = if ((N.caller == B))
146+func W (R) = if ((R.caller == F))
139147 then true
140148 else throw("caller must be the pool")
141149
142150
143-@Callable(N)
144-func constructor (T) = {
145- let U = M(N)
146- if ((U == U))
147- then [StringEntry(k(), T)]
151+@Callable(R)
152+func constructor (X) = {
153+ let Y = Q(R)
154+ if ((Y == Y))
155+ then [StringEntry(l(), X)]
148156 else throw("Strict value is not equal to itself.")
149157 }
150158
151159
152160
153-@Callable(N)
154-func setManager (V) = {
155- let U = M(N)
156- if ((U == U))
161+@Callable(R)
162+func setManager (Z) = {
163+ let Y = Q(R)
164+ if ((Y == Y))
157165 then {
158- let W = fromBase58String(V)
159- if ((W == W))
160- then [StringEntry(j(), V)]
166+ let aa = fromBase58String(Z)
167+ if ((aa == aa))
168+ then [StringEntry(k(), Z)]
161169 else throw("Strict value is not equal to itself.")
162170 }
163171 else throw("Strict value is not equal to itself.")
164172 }
165173
166174
167175
168-@Callable(N)
176+@Callable(R)
169177 func confirmManager () = {
170- let X = L()
171- let Y = if (isDefined(X))
178+ let ab = P()
179+ let ac = if (isDefined(ab))
172180 then true
173181 else throw("No pending manager")
174- if ((Y == Y))
182+ if ((ac == ac))
175183 then {
176- let Z = if ((N.callerPublicKey == value(X)))
184+ let ad = if ((R.callerPublicKey == value(ab)))
177185 then true
178186 else throw("You are not pending manager")
179- if ((Z == Z))
180- then [StringEntry(i(), toBase58String(value(X))), DeleteEntry(j())]
187+ if ((ad == ad))
188+ then [StringEntry(j(), toBase58String(value(ab))), DeleteEntry(k())]
181189 else throw("Strict value is not equal to itself.")
182190 }
183191 else throw("Strict value is not equal to itself.")
184192 }
185193
186194
187195
188-@Callable(N)
189-func setAdmins (aa) = {
190- let U = M(N)
191- if ((U == U))
192- then [StringEntry(n(), makeString(aa, a))]
196+@Callable(R)
197+func setAdmins (ae) = {
198+ let Y = Q(R)
199+ if ((Y == Y))
200+ then [StringEntry(o(), makeString(ae, a))]
193201 else throw("Strict value is not equal to itself.")
194202 }
195203
196204
197205
198-@Callable(N)
199-func unstakeAndGetOneTkn (ab,ac,ad,ae,af,ag) = {
200- let ah = if ((size(N.payments) != 0))
206+@Callable(R)
207+func unstakeAndGetOneTkn (af,ag,ah,ai,aj,ak) = {
208+ let al = if ((size(R.payments) != 0))
201209 then throw("No pmnts expd")
202210 else true
203- if ((ah == ah))
211+ if ((al == al))
204212 then {
205- let ai = D()
206- let aj = H()
207- let ak = fromBase58String(ai[d])
208- let al = valueOrErrorMessage(addressFromString(aj[g]), "Wr st addr")
209- let am = invoke(al, "unstake", [toBase58String(ak), ab], nil)
210- if ((am == am))
213+ let am = H()
214+ let an = L()
215+ let ao = fromBase58String(am[d])
216+ let ap = valueOrErrorMessage(addressFromString(an[g]), "Wr st addr")
217+ let aq = invoke(ap, "unstake", [toBase58String(ao), af], nil)
218+ if ((aq == aq))
211219 then {
212- let an = invoke(B, "getOneTkn", [ac, ad, ae, af, ag], [AttachedPayment(ak, ab)])
213- if ((an == an))
220+ let ar = reentrantInvoke(F, "getOneTkn", [ag, ah, ai, aj, ak], [AttachedPayment(ao, af)])
221+ if ((ar == ar))
214222 then nil
215223 else throw("Strict value is not equal to itself.")
216224 }
217225 else throw("Strict value is not equal to itself.")
218226 }
219227 else throw("Strict value is not equal to itself.")
220228 }
221229
222230
223231
224-@Callable(N)
225-func setAmp (ao) = {
226- let U = R(N)
227- if ((U == U))
232+@Callable(R)
233+func setAmp (as) = {
234+ let Y = V(R)
235+ if ((Y == Y))
228236 then {
229- let ap = invoke(B, "setS", [o(), ao], nil)
230- let aq = invoke(B, "setS", [p(height), ao], nil)
231- $Tuple2(nil, $Tuple2(ap, aq))
237+ let at = invoke(F, "setS", [p(), as], nil)
238+ let au = invoke(F, "setS", [q(height), as], nil)
239+ $Tuple2(nil, $Tuple2(at, au))
232240 }
233241 else throw("Strict value is not equal to itself.")
234242 }
235243
236244
237-@Verifier(ar)
238-func as () = {
239- let at = {
240- let J = I()
241- if ($isInstanceOf(J, "ByteVector"))
245+
246+@Callable(R)
247+func ensureCanGetOneTkn (t) = {
248+ let Y = W(R)
249+ if ((Y == Y))
250+ then {
251+ let av = {
252+ let N = getInteger(F, u(t))
253+ if ($isInstanceOf(N, "Int"))
254+ then {
255+ let aw = N
256+ let ax = (aw + value(getInteger(F, h)))
257+ let ay = (height >= ax)
258+ let az = (ax - height)
259+ if (ay)
260+ then true
261+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
262+ }
263+ else true
264+ }
265+ if ((av == av))
266+ then {
267+ let aA = {
268+ let N = getInteger(F, s(t))
269+ if ($isInstanceOf(N, "Int"))
270+ then {
271+ let aw = N
272+ let ax = (aw + value(getInteger(F, h)))
273+ let aB = (height >= ax)
274+ let az = (ax - height)
275+ if (aB)
276+ then true
277+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
278+ }
279+ else true
280+ }
281+ if ((aA == aA))
282+ then {
283+ let aC = invoke(F, "setI", [u(t), height], nil)
284+ if ((aC == aC))
285+ then nil
286+ else throw("Strict value is not equal to itself.")
287+ }
288+ else throw("Strict value is not equal to itself.")
289+ }
290+ else throw("Strict value is not equal to itself.")
291+ }
292+ else throw("Strict value is not equal to itself.")
293+ }
294+
295+
296+
297+@Callable(R)
298+func ensureCanPutOneTkn (t) = {
299+ let Y = W(R)
300+ if ((Y == Y))
301+ then {
302+ let av = {
303+ let N = getInteger(F, u(t))
304+ if ($isInstanceOf(N, "Int"))
305+ then {
306+ let aw = N
307+ let ax = (aw + value(getInteger(F, h)))
308+ let ay = (height >= ax)
309+ let az = (ax - height)
310+ if (ay)
311+ then true
312+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
313+ }
314+ else true
315+ }
316+ if ((av == av))
317+ then {
318+ let aA = {
319+ let N = getInteger(F, s(t))
320+ if ($isInstanceOf(N, "Int"))
321+ then {
322+ let aw = N
323+ let ax = (aw + value(getInteger(F, h)))
324+ let aB = (height >= ax)
325+ let az = (ax - height)
326+ if (aB)
327+ then true
328+ else throw(makeString(["you should wait", toString(az), "blocks more to perform the action"], " "))
329+ }
330+ else true
331+ }
332+ if ((aA == aA))
333+ then {
334+ let aC = invoke(F, "setI", [u(t), height], nil)
335+ if ((aC == aC))
336+ then nil
337+ else throw("Strict value is not equal to itself.")
338+ }
339+ else throw("Strict value is not equal to itself.")
340+ }
341+ else throw("Strict value is not equal to itself.")
342+ }
343+ else throw("Strict value is not equal to itself.")
344+ }
345+
346+
347+@Verifier(aD)
348+func aE () = {
349+ let aF = {
350+ let N = M()
351+ if ($isInstanceOf(N, "ByteVector"))
242352 then {
243- let P = J
244- P
353+ let T = N
354+ T
245355 }
246- else if ($isInstanceOf(J, "Unit"))
247- then ar.senderPublicKey
356+ else if ($isInstanceOf(N, "Unit"))
357+ then aD.senderPublicKey
248358 else throw("Match error")
249359 }
250- sigVerify(ar.bodyBytes, ar.proofs[0], at)
360+ sigVerify(aD.bodyBytes, aD.proofs[0], aF)
251361 }
252362

github/deemru/w8io/169f3d6 
72.47 ms