tx · 84ZFyw2jT3i9gTzEeZ6HLepr8seyWj4B5MdmXepsZ9ii 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh: -0.01800000 Waves 2022.08.17 10:10 [2188151] smart account 3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh > SELF 0.00000000 Waves
{ "type": 13, "id": "84ZFyw2jT3i9gTzEeZ6HLepr8seyWj4B5MdmXepsZ9ii", "fee": 1800000, "feeAssetId": null, "timestamp": 1660720364918, "version": 1, "sender": "3N3g7W8FPoQ7g5EadbAD2GVjrZT5RWpHZZh", "senderPublicKey": "Ap7CkWd6fzBU34kGo4GJJzC5q4qWXuLVunzE25PchdGS", "proofs": [ "4xWCfFHYcS971ZqUjwFocPuhGvQVhwZcC1Qdt2937Bnb8CYcj95tf2euGuvzfC5KQVfSDyv238mq3Gncyu6ciSSd" ], "script": "base64:AAIFAAAAAAAAAC0IAhIJCgcICBgYAQgBEgASCAoGCAgICAgIEgMKARgSAwoBCBIAEgASBAoCCAgAAAA0AAAAAANTRVACAAAAAl9fAAAAAAx3YXZlc0Fzc2V0SWQCAAAABVdBVkVTAAAAABFpbnZhbGlkUHJpY2VBc3NldAIAAAATSW52YWxpZCBwcmljZSBhc3NldAEAAAAIdGhyb3dFcnIAAAABAAAAA21zZwkAAAIAAAABCQAEuQAAAAIJAARMAAAAAgIAAAAQdXNlcl9wb29scy5yaWRlOgkABEwAAAACBQAAAANtc2cFAAAAA25pbAIAAAABIAEAAAAHdGhyb3dQRAAAAAAJAQAAAAh0aHJvd0VycgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkAQAAABR0aHJvd0NyZWF0ZU5vdENhbGxlZAAAAAAJAQAAAAh0aHJvd0VycgAAAAECAAAAJENyZWF0ZSBpcyBub3QgY2FsbGVkIGZvciBhc3NldHMgcGFpcgEAAAARdGhyb3dZb3VOb3RJc3N1ZXIAAAAACQEAAAAIdGhyb3dFcnIAAAABAgAAAB5Zb3UgYXJlIG5vdCBhbW91bnRBc3NldCBpc3N1ZXIBAAAAD3Rocm93UG9vbEV4aXN0cwAAAAAJAQAAAAh0aHJvd0VycgAAAAECAAAAJFBvb2wgd2l0aCBzdWNoIGFzc2V0cyBhbHJlYWR5IGV4aXN0cwEAAAAVdGhyb3dBc3NldE5vdFZlcmlmaWVkAAAAAAkBAAAACHRocm93RXJyAAAAAQIAAAAVQXNzZXQgaXMgbm90IHZlcmlmaWVkAQAAABZ0aHJvd0ludmFsaWRQcmljZUFzc2V0AAAAAAkBAAAACHRocm93RXJyAAAAAQUAAAARaW52YWxpZFByaWNlQXNzZXQBAAAAFHRocm93SW52YWxpZEZlZUFzc2V0AAAAAAkBAAAACHRocm93RXJyAAAAAQIAAAARSW52YWxpZCBmZWUgYXNzZXQBAAAAF3Rocm93SW52YWxpZEFtb3VudEFzc2V0AAAAAAkBAAAACHRocm93RXJyAAAAAQIAAAAdSW52YWxpZCBhbW91bnQgYXNzZXQgYXR0YWNoZWQBAAAAEnRocm93SW52YWxpZFN0YXR1cwAAAAAJAQAAAAh0aHJvd0VycgAAAAECAAAA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ASwAAAACCQABLAAAAAICAAAACHN0YXR1c188BQAAAAdhc3NldElkAgAAAAE+AAAAAAAAAAAAAAAAAAAAAAACAQAAAAxnZXRJZEFuZEluZm8AAAABAAAAB3BheW1lbnQEAAAAByRtYXRjaDAIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gwBAAAAARpbmZvCQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAAmlkCQAFFAAAAAIJAAJYAAAAAQUAAAACaWQFAAAABGluZm8DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQJAAUUAAAAAgUAAAAMd2F2ZXNBc3NldElkBQAAAAR1bml0CQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAAt2YWxpZFN0YXR1cwAAAAEAAAAGc3RhdHVzCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAIc3RhdHVzZXMFAAAABnN0YXR1cwAAAAgAAAABaQEAAAALY29uc3RydWN0b3IAAAAHAAAAEGZhY3RvcnlWMkFkZHJlc3MAAAASYXNzZXRzU3RvcmVBZGRyZXNzAAAADXByaWNlQXNzZXRJZHMAAAAUcHJpY2VBc3NldHNNaW5BbW91bnQAAAAUYW1vdW50QXNzZXRNaW5BbW91bnQAAAAKZmVlQXNzZXRJZAAAAAlmZWVBbW91bnQEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUZhY3RvcnlDb250cmFjdAAAAAAFAAAAEGZhY3RvcnlWMkFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAFmtleUFzc2V0c1N0b3JlQ29udHJhY3QAAAAABQAAABJhc3NldHNTdG9yZUFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleVByaWNlQXNzZXRJZHMAAAAACQAEuQAAAAIFAAAADXByaWNlQXNzZXRJZHMFAAAAA1NFUAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAXa2V5UHJpY2VBc3NldHNNaW5BbW91bnQAAAAACQAEuQAAAAIFAAAAFHByaWNlQXNzZXRzTWluQW1vdW50BQAAAANTRVAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABdrZXlBbW91bnRBc3NldE1pbkFtb3VudAAAAAAFAAAAFGFtb3VudEFzc2V0TWluQW1vdW50CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA1rZXlGZWVBc3NldElkAAAAAAUAAAAKZmVlQXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleUZlZUFtb3VudAAAAAAFAAAACWZlZUFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAZjcmVhdGUAAAAABAAAABJhbW91bnRBc3NldFBheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAEXByaWNlQXNzZXRQYXltZW50CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABBAAAAA9mZWVBc3NldFBheW1lbnQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAIEAAAACyR0MDY0Nzg2NTUwCQEAAAAMZ2V0SWRBbmRJbmZvAAAAAQUAAAASYW1vdW50QXNzZXRQYXltZW50BAAAAA1hbW91bnRBc3NldElkCAUAAAALJHQwNjQ3ODY1NTAAAAACXzEEAAAAD2Ftb3VudEFzc2V0SW5mbwgFAAAACyR0MDY0Nzg2NTUwAAAAAl8yBAAAAAskdDA2NTUzNjYyMgkBAAAADGdldElkQW5kSW5mbwAAAAEFAAAAEXByaWNlQXNzZXRQYXltZW50BAAAAAxwcmljZUFzc2V0SWQIBQAAAAskdDA2NTUzNjYyMgAAAAJfMQQAAAAOcHJpY2VBc3NldEluZm8IBQAAAAskdDA2NTUzNjYyMgAAAAJfMgQAAAALJHQwNjYyNTY2ODgJAQAAAAxnZXRJZEFuZEluZm8AAAABBQAAAA9mZWVBc3NldFBheW1lbnQEAAAACmZlZUFzc2V0SWQIBQAAAAskdDA2NjI1NjY4OAAAAAJfMQQAAAAMZmVlQXNzZXRJbmZvCAUAAAALJHQwNjYyNTY2ODgAAAACXzIEAAAAD3ByaWNlQXNzZXRzTGlzdAkBAAAAEnN0cmluZ09wdGlvblRvTGlzdAAAAAEJAAQiAAAAAQkBAAAAEGtleVByaWNlQXNzZXRJZHMAAAAABAAAABptYW5hZ2VyUHJpY2VBc3NldE1pbkFtb3VudAAAAAAAAAAAAQQAAAATcHJpY2VBc3NldE1pbkFtb3VudAMJAQAAAAlpc01hbmFnZXIAAAABBQAAAAFpBQAAABptYW5hZ2VyUHJpY2VBc3NldE1pbkFtb3VudAQAAAAQcHJpY2VBc3NldHNJbmRleAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAETwAAAAIFAAAAD3ByaWNlQXNzZXRzTGlzdAUAAAAMcHJpY2VBc3NldElkBQAAABFpbnZhbGlkUHJpY2VBc3NldAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAQAAABJzdHJpbmdPcHRpb25Ub0xpc3QAAAABCQAEIgAAAAEJAQAAABdrZXlQcmljZUFzc2V0c01pbkFtb3VudAAAAAAFAAAAEHByaWNlQXNzZXRzSW5kZXgEAAAACWxhc3RJbmRleAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB8AAAABCQEAAAAMa2V5TGFzdEluZGV4AAAAAAAAAAAAAAAAAAQAAAAIY3VySW5kZXgJAABkAAAAAgUAAAAJbGFzdEluZGV4AAAAAAAAAAABBAAAAAZjaGVja3MJAARMAAAAAgMJAQAAAAEhAAAAAQkBAAAADmlzQ3JlYXRlQ2FsbGVkAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBgkBAAAAD3Rocm93UG9vbEV4aXN0cwAAAAAJAARMAAAAAgMDCQEAAAAJaXNNYW5hZ2VyAAAAAQUAAAABaQYJAAAAAAAAAggJAQAAAAV2YWx1ZQAAAAEFAAAAD2Ftb3VudEFzc2V0SW5mbwAAAAZpc3N1ZXIIBQAAAAFpAAAABmNhbGxlcgYJAQAAABF0aHJvd1lvdU5vdElzc3VlcgAAAAAJAARMAAAAAgMJAQAAAAppc1ZlcmlmaWVkAAAAAQUAAAANYW1vdW50QXNzZXRJZAYJAQAAABV0aHJvd0Fzc2V0Tm90VmVyaWZpZWQAAAAACQAETAAAAAIDCQAAAAAAAAIJAAQiAAAAAQkBAAAADWtleUZlZUFzc2V0SWQAAAAABQAAAApmZWVBc3NldElkBgkBAAAAFHRocm93SW52YWxpZEZlZUFzc2V0AAAAAAkABEwAAAACAwkAAGcAAAACCAUAAAASYW1vdW50QXNzZXRQYXltZW50AAAABmFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTUpAAAAAQkBAAAAF2tleUFtb3VudEFzc2V0TWluQW1vdW50AAAAAAYJAQAAABd0aHJvd0ludmFsaWRBbW91bnRBc3NldAAAAAAJAARMAAAAAgMJAABnAAAAAggFAAAAEXByaWNlQXNzZXRQYXltZW50AAAABmFtb3VudAUAAAATcHJpY2VBc3NldE1pbkFtb3VudAYJAQAAABx0aHJvd0ludmFsaWRQcmljZUFzc2V0QW1vdW50AAAAAAkABEwAAAACAwkAAAAAAAACCAUAAAAPZmVlQXNzZXRQYXltZW50AAAABmFtb3VudAkABB8AAAABCQEAAAAMa2V5RmVlQW1vdW50AAAAAAYJAQAAAA90aHJvd0ludmFsaWRGZWUAAAAABQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAPa2V5Q3JlYXRlQ2FsbGVkAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleUxhc3RJbmRleAAAAAAFAAAACGN1ckluZGV4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAlrZXlTdWZmaXgAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQJAAEsAAAAAgkAAaQAAAABBQAAAAhjdXJJbmRleAUAAAALaW5kZXhTdWZmaXgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAlrZXlIZWlnaHQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAABmhlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5U3RhdHVzAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAA1zdGF0dXNQZW5kaW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUa2V5QW1vdW50QXNzZXRBbW91bnQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQIBQAAABJhbW91bnRBc3NldFBheW1lbnQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAATa2V5UHJpY2VBc3NldEFtb3VudAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAgFAAAAEXByaWNlQXNzZXRQYXltZW50AAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAYAAAALcG9vbEFkZHJlc3MAAAANYW1vdW50QXNzZXRJZAAAABFhbW91bnRBc3NldFRpY2tlcgAAAAxwcmljZUFzc2V0SWQAAAAQcHJpY2VBc3NldFRpY2tlcgAAAARsb2dvBAAAAAZjaGVja3MJAARMAAAAAgkBAAAACW11c3RBZG1pbgAAAAEFAAAAAWkJAARMAAAAAgMJAQAAAA5pc0NyZWF0ZUNhbGxlZAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAYJAQAAABR0aHJvd0NyZWF0ZU5vdENhbGxlZAAAAAAJAARMAAAAAgMJAAAAAAAAAgkBAAAABXZhbHVlAAAAAQkABCIAAAABCQEAAAAJa2V5U3RhdHVzAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAA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dG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlzZXRBZG1pbnMAAAABAAAADGFkbWluUHViS2V5cwQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5QWRtaW5QdWJLZXlzAAAAAAkABLkAAAACBQAAAAxhZG1pblB1YktleXMFAAAAA1NFUAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAApzZXRNYW5hZ2VyAAAAAQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQACWQAAAAEFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAAAAAACBQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOY29uZmlybU1hbmFnZXIAAAAABAAAAAJwbQkBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAFaGFzUE0DCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAACcG0GCQAAAgAAAAECAAAAEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAAFaGFzUE0FAAAABWhhc1BNBAAAAAdjaGVja1BNAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAAB2NoZWNrUE0FAAAAB2NoZWNrUE0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAACQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAE3ByaWNlQXNzZXRzUkVBRE9OTFkAAAAACQAFFAAAAAIFAAAAA25pbAkBAAAAEnN0cmluZ09wdGlvblRvTGlzdAAAAAEJAAQiAAAAAQkBAAAAEGtleVByaWNlQXNzZXRJZHMAAAAAAAAAAWkBAAAADnN0YXR1c1JFQURPTkxZAAAAAgAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAQAAAAGc3RhdHVzBAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAAAlrZXlTdGF0dXMAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAUAAAABcwUAAAAEdW5pdAkABRQAAAACBQAAAANuaWwFAAAABnN0YXR1cwAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAD3RhcmdldFB1YmxpY0tleQQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAUAAAACcGsDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA90YXJnZXRQdWJsaWNLZXnQKQTQ", "chainId": 84, "height": 2188151, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7MCeyDtGLzXadSpGvAqG3WvPoSA9eYay4FHGQt5pPvhJ Next: G6HBEJcAjqBKwjV4owJRhSa4TXDvGAyd7P7tPPSF111q Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "__" | |
5 | 5 | ||
6 | - | let b = "" | |
6 | + | let b = "WAVES" | |
7 | 7 | ||
8 | - | let c = " | |
8 | + | let c = "Invalid price asset" | |
9 | 9 | ||
10 | - | let d = "Invalid price asset" | |
11 | - | ||
12 | - | func e (f) = throw(makeString(["user_pools.ride:", f], " ")) | |
10 | + | func d (e) = throw(makeString(["user_pools.ride:", e], " ")) | |
13 | 11 | ||
14 | 12 | ||
15 | - | func | |
13 | + | func f () = d("Permission denied") | |
16 | 14 | ||
17 | 15 | ||
18 | - | func | |
16 | + | func g () = d("Create is not called for assets pair") | |
19 | 17 | ||
20 | 18 | ||
21 | - | func | |
19 | + | func h () = d("You are not amountAsset issuer") | |
22 | 20 | ||
23 | 21 | ||
24 | - | func | |
22 | + | func i () = d("Pool with such assets already exists") | |
25 | 23 | ||
26 | 24 | ||
27 | - | func | |
25 | + | func j () = d("Asset is not verified") | |
28 | 26 | ||
29 | 27 | ||
30 | - | func | |
28 | + | func k () = d(c) | |
31 | 29 | ||
32 | 30 | ||
33 | - | func | |
31 | + | func l () = d("Invalid fee asset") | |
34 | 32 | ||
35 | 33 | ||
36 | - | func | |
34 | + | func m () = d("Invalid amount asset attached") | |
37 | 35 | ||
38 | 36 | ||
39 | - | func | |
37 | + | func n () = d("Invalid status") | |
40 | 38 | ||
41 | 39 | ||
42 | - | func | |
40 | + | func o () = d("Can activate pool only in 'pending' status") | |
43 | 41 | ||
44 | 42 | ||
45 | - | func | |
43 | + | func p () = d("FactoryV2 returned not string") | |
46 | 44 | ||
47 | 45 | ||
48 | - | func | |
46 | + | func q () = d("invalid price asset amount") | |
49 | 47 | ||
50 | 48 | ||
51 | - | func | |
49 | + | func r () = d("invalid fee") | |
52 | 50 | ||
53 | 51 | ||
54 | - | func | |
52 | + | func s () = makeString(["%s", "managerPublicKey"], a) | |
55 | 53 | ||
56 | 54 | ||
57 | - | func | |
55 | + | func t () = makeString(["%s", "pendingManagerPublicKey"], a) | |
58 | 56 | ||
59 | 57 | ||
60 | - | func | |
58 | + | func u () = makeString(["%s", "adminPubKeys"], a) | |
61 | 59 | ||
62 | 60 | ||
63 | - | func | |
61 | + | func v (w,x) = makeString(["%s%s%s", "status", w, x], a) | |
64 | 62 | ||
65 | 63 | ||
66 | - | func | |
64 | + | func y () = makeString(["%s", "factoryContract"], a) | |
67 | 65 | ||
68 | 66 | ||
69 | - | func | |
67 | + | func z () = makeString(["%s", "assetsStoreContract"], a) | |
70 | 68 | ||
71 | 69 | ||
72 | - | func | |
70 | + | func A (w,x) = makeString(["%s%s%s", "suffix", w, x], a) | |
73 | 71 | ||
74 | 72 | ||
75 | - | func | |
73 | + | func B () = makeString(["%s", "lastIndex"], a) | |
76 | 74 | ||
77 | 75 | ||
78 | - | let | |
76 | + | let C = "u" | |
79 | 77 | ||
80 | - | let | |
78 | + | let D = "pending" | |
81 | 79 | ||
82 | - | let | |
80 | + | let E = "declined" | |
83 | 81 | ||
84 | - | let | |
82 | + | let F = "active" | |
85 | 83 | ||
86 | - | let | |
84 | + | let G = [D, E, F] | |
87 | 85 | ||
88 | - | func | |
86 | + | func H (w,x) = makeString(["%s%s%s", "createCalled", w, x], a) | |
89 | 87 | ||
90 | 88 | ||
91 | - | func | |
89 | + | func I (w,x) = makeString(["%s%s%s", "amountAssetAmount", w, x], a) | |
92 | 90 | ||
93 | 91 | ||
94 | - | func | |
92 | + | func J (w,x) = makeString(["%s%s%s", "priceAssetAmount", w, x], a) | |
95 | 93 | ||
96 | 94 | ||
97 | - | func | |
95 | + | func K (w,x) = makeString(["%s%s%s", "height", w, x], a) | |
98 | 96 | ||
99 | 97 | ||
100 | - | func | |
98 | + | func L () = makeString(["%s", "feeAssetId"], a) | |
101 | 99 | ||
102 | 100 | ||
103 | - | func | |
101 | + | func M () = makeString(["%s", "feeAmount"], a) | |
104 | 102 | ||
105 | 103 | ||
106 | - | func | |
104 | + | func N () = makeString(["%s", "amountAssetMinAmount"], a) | |
107 | 105 | ||
108 | 106 | ||
109 | - | func | |
107 | + | func O () = makeString(["%s", "priceAssetsMinAmount"], a) | |
110 | 108 | ||
111 | 109 | ||
112 | - | func | |
110 | + | func P () = makeString(["%s", "priceAssetIds"], a) | |
113 | 111 | ||
114 | 112 | ||
115 | - | func | |
113 | + | func Q (R) = valueOrErrorMessage(getString(this, R), (R + " is not defined")) | |
116 | 114 | ||
117 | 115 | ||
118 | - | let T = addressFromStringValue(R(z())) | |
119 | - | ||
120 | - | func U (x,y) = valueOrElse(getBoolean(I(x, y)), false) | |
116 | + | func S (T) = { | |
117 | + | let U = T | |
118 | + | if ($isInstanceOf(U, "String")) | |
119 | + | then { | |
120 | + | let V = U | |
121 | + | if ((size(V) == 0)) | |
122 | + | then nil | |
123 | + | else split(V, a) | |
124 | + | } | |
125 | + | else if ($isInstanceOf(U, "Unit")) | |
126 | + | then nil | |
127 | + | else throw("Match error") | |
128 | + | } | |
121 | 129 | ||
122 | 130 | ||
123 | - | ||
124 | - | ||
125 | - | ||
131 | + | let W = addressFromStringValue(Q(y())) | |
132 | + | ||
133 | + | func X (w,x) = valueOrElse(getBoolean(H(w, x)), false) | |
126 | 134 | ||
127 | 135 | ||
128 | - | func W () = { | |
129 | - | let X = getString(t()) | |
130 | - | if ($isInstanceOf(X, "String")) | |
136 | + | func Y (w,x) = if (X(w, x)) | |
137 | + | then true | |
138 | + | else g() | |
139 | + | ||
140 | + | ||
141 | + | func Z () = { | |
142 | + | let U = getString(s()) | |
143 | + | if ($isInstanceOf(U, "String")) | |
131 | 144 | then { | |
132 | - | let | |
133 | - | fromBase58String( | |
145 | + | let V = U | |
146 | + | fromBase58String(V) | |
134 | 147 | } | |
135 | - | else if ($isInstanceOf( | |
148 | + | else if ($isInstanceOf(U, "Unit")) | |
136 | 149 | then unit | |
137 | 150 | else throw("Match error") | |
138 | 151 | } | |
139 | 152 | ||
140 | 153 | ||
141 | - | func | |
142 | - | let | |
143 | - | if ($isInstanceOf( | |
154 | + | func aa () = { | |
155 | + | let U = getString(t()) | |
156 | + | if ($isInstanceOf(U, "String")) | |
144 | 157 | then { | |
145 | - | let | |
146 | - | fromBase58String( | |
158 | + | let V = U | |
159 | + | fromBase58String(V) | |
147 | 160 | } | |
148 | - | else if ($isInstanceOf( | |
161 | + | else if ($isInstanceOf(U, "Unit")) | |
149 | 162 | then unit | |
150 | 163 | else throw("Match error") | |
151 | 164 | } | |
152 | 165 | ||
153 | 166 | ||
154 | - | func | |
155 | - | let | |
156 | - | if ($isInstanceOf( | |
167 | + | func ab (ac) = { | |
168 | + | let U = Z() | |
169 | + | if ($isInstanceOf(U, "ByteVector")) | |
157 | 170 | then { | |
158 | - | let | |
159 | - | ( | |
171 | + | let ad = U | |
172 | + | (ac.callerPublicKey == ad) | |
160 | 173 | } | |
161 | - | else if ($isInstanceOf( | |
162 | - | then ( | |
174 | + | else if ($isInstanceOf(U, "Unit")) | |
175 | + | then (ac.caller == this) | |
163 | 176 | else throw("Match error") | |
164 | 177 | } | |
165 | 178 | ||
166 | 179 | ||
167 | - | func | |
180 | + | func ae (ac) = if (ab(ac)) | |
168 | 181 | then true | |
169 | - | else | |
182 | + | else f() | |
170 | 183 | ||
171 | 184 | ||
172 | - | func | |
173 | - | let | |
174 | - | if (containsElement( | |
185 | + | func af (ac) = { | |
186 | + | let ag = S(getString(u())) | |
187 | + | if (containsElement(ag, toBase58String(ac.callerPublicKey))) | |
175 | 188 | then true | |
176 | - | else | |
189 | + | else ae(ac) | |
177 | 190 | } | |
178 | 191 | ||
179 | 192 | ||
180 | - | func | |
193 | + | func ah (ai) = (valueOrElse(getInteger(addressFromStringValue(Q(z())), (("status_<" + ai) + ">")), 0) == 2) | |
181 | 194 | ||
182 | 195 | ||
183 | - | func | |
184 | - | let | |
185 | - | if ($isInstanceOf( | |
196 | + | func aj (ak) = { | |
197 | + | let U = ak.assetId | |
198 | + | if ($isInstanceOf(U, "ByteVector")) | |
186 | 199 | then { | |
187 | - | let | |
188 | - | let | |
189 | - | $Tuple2(toBase58String( | |
200 | + | let al = U | |
201 | + | let am = value(assetInfo(al)) | |
202 | + | $Tuple2(toBase58String(al), am) | |
190 | 203 | } | |
191 | - | else if ($isInstanceOf( | |
192 | - | then $Tuple2( | |
204 | + | else if ($isInstanceOf(U, "Unit")) | |
205 | + | then $Tuple2(b, unit) | |
193 | 206 | else throw("Match error") | |
194 | 207 | } | |
195 | 208 | ||
196 | 209 | ||
197 | - | func | |
210 | + | func an (ao) = containsElement(G, ao) | |
198 | 211 | ||
199 | 212 | ||
200 | - | @Callable( | |
201 | - | func constructor ( | |
202 | - | let | |
203 | - | if (( | |
204 | - | then [StringEntry( | |
213 | + | @Callable(ac) | |
214 | + | func constructor (ap,aq,ar,as,at,au,av) = { | |
215 | + | let aw = ae(ac) | |
216 | + | if ((aw == aw)) | |
217 | + | then [StringEntry(y(), ap), StringEntry(z(), aq), StringEntry(P(), makeString(ar, a)), StringEntry(O(), makeString(as, a)), IntegerEntry(N(), at), StringEntry(L(), au), IntegerEntry(M(), av)] | |
205 | 218 | else throw("Strict value is not equal to itself.") | |
206 | 219 | } | |
207 | 220 | ||
208 | 221 | ||
209 | 222 | ||
210 | - | @Callable( | |
223 | + | @Callable(ac) | |
211 | 224 | func create () = { | |
212 | - | let | |
213 | - | let | |
214 | - | let | |
215 | - | let | |
216 | - | let | |
217 | - | let | |
218 | - | let | |
219 | - | let | |
220 | - | let | |
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | let | |
225 | - | let | |
226 | - | let | |
227 | - | then | |
225 | + | let ax = value(ac.payments[0]) | |
226 | + | let ay = value(ac.payments[1]) | |
227 | + | let az = value(ac.payments[2]) | |
228 | + | let aA = aj(ax) | |
229 | + | let w = aA._1 | |
230 | + | let aB = aA._2 | |
231 | + | let aC = aj(ay) | |
232 | + | let x = aC._1 | |
233 | + | let aD = aC._2 | |
234 | + | let aE = aj(az) | |
235 | + | let au = aE._1 | |
236 | + | let aF = aE._2 | |
237 | + | let aG = S(getString(P())) | |
238 | + | let aH = 1 | |
239 | + | let aI = if (ab(ac)) | |
240 | + | then aH | |
228 | 241 | else { | |
229 | - | let | |
230 | - | value(parseInt( | |
242 | + | let aJ = valueOrErrorMessage(indexOf(aG, x), c) | |
243 | + | value(parseInt(S(getString(O()))[aJ])) | |
231 | 244 | } | |
232 | - | let | |
233 | - | let | |
234 | - | let | |
245 | + | let aK = valueOrElse(getInteger(B()), 0) | |
246 | + | let aL = (aK + 1) | |
247 | + | let aM = [if (!(X(w, x))) | |
235 | 248 | then true | |
236 | - | else | |
249 | + | else i(), if (if (ab(ac)) | |
237 | 250 | then true | |
238 | - | else (value( | |
251 | + | else (value(aB).issuer == ac.caller)) | |
239 | 252 | then true | |
240 | - | else | |
253 | + | else h(), if (ah(w)) | |
241 | 254 | then true | |
242 | - | else | |
255 | + | else j(), if ((getString(L()) == au)) | |
243 | 256 | then true | |
244 | - | else | |
257 | + | else l(), if ((ax.amount >= getIntegerValue(N()))) | |
245 | 258 | then true | |
246 | - | else | |
259 | + | else m(), if ((ay.amount >= aI)) | |
247 | 260 | then true | |
248 | - | else | |
261 | + | else q(), if ((az.amount == getInteger(M()))) | |
249 | 262 | then true | |
250 | - | else | |
251 | - | if (( | |
252 | - | then [BooleanEntry( | |
263 | + | else r()] | |
264 | + | if ((aM == aM)) | |
265 | + | then [BooleanEntry(H(w, x), true), IntegerEntry(B(), aL), StringEntry(A(w, x), (toString(aL) + C)), IntegerEntry(K(w, x), height), StringEntry(v(w, x), D), IntegerEntry(I(w, x), ax.amount), IntegerEntry(J(w, x), ay.amount)] | |
253 | 266 | else throw("Strict value is not equal to itself.") | |
254 | 267 | } | |
255 | 268 | ||
256 | 269 | ||
257 | 270 | ||
258 | - | @Callable( | |
259 | - | func activate ( | |
260 | - | let | |
271 | + | @Callable(ac) | |
272 | + | func activate (aN,w,aO,x,aP,aQ) = { | |
273 | + | let aM = [af(ac), if (X(w, x)) | |
261 | 274 | then true | |
262 | - | else | |
275 | + | else g(), if ((value(getString(v(w, x))) == D)) | |
263 | 276 | then true | |
264 | - | else | |
265 | - | if (( | |
277 | + | else o()] | |
278 | + | if ((aM == aM)) | |
266 | 279 | then { | |
267 | - | let | |
268 | - | if (( | |
280 | + | let aR = invoke(W, "activateNewPool", [aN, w, x, ((aO + aP) + "LP"), (((aO + "/") + aP) + " pool liquidity provider token"), 0, "VLTPOOL", aQ], nil) | |
281 | + | if ((aR == aR)) | |
269 | 282 | then { | |
270 | - | let | |
271 | - | let | |
272 | - | if ($isInstanceOf( | |
283 | + | let aS = { | |
284 | + | let U = aR | |
285 | + | if ($isInstanceOf(U, "String")) | |
273 | 286 | then { | |
274 | - | let | |
275 | - | | |
287 | + | let al = U | |
288 | + | al | |
276 | 289 | } | |
277 | - | else | |
290 | + | else p() | |
278 | 291 | } | |
279 | - | if (( | |
292 | + | if ((aS == aS)) | |
280 | 293 | then { | |
281 | - | let | |
282 | - | if (( | |
294 | + | let aT = assetBalance(this, fromBase58String(aS)) | |
295 | + | if ((aT == aT)) | |
283 | 296 | then { | |
284 | - | let | |
297 | + | let aU = invoke(addressFromStringValue(aN), "put", [0, false], [AttachedPayment(fromBase58String(w), value(getInteger(I(w, x)))), AttachedPayment(if ((x == "WAVES")) | |
285 | 298 | then unit | |
286 | - | else fromBase58String( | |
287 | - | if (( | |
299 | + | else fromBase58String(x), value(getInteger(J(w, x))))]) | |
300 | + | if ((aU == aU)) | |
288 | 301 | then { | |
289 | - | let | |
290 | - | if (( | |
302 | + | let aV = assetBalance(this, fromBase58String(aS)) | |
303 | + | if ((aV == aV)) | |
291 | 304 | then { | |
292 | - | let | |
293 | - | [StringEntry(w | |
305 | + | let aW = value(assetInfo(fromBase58String(w))).issuer | |
306 | + | [StringEntry(v(w, x), F), ScriptTransfer(aW, (aV - aT), fromBase58String(aS))] | |
294 | 307 | } | |
295 | 308 | else throw("Strict value is not equal to itself.") | |
296 | 309 | } | |
307 | 320 | ||
308 | 321 | ||
309 | 322 | ||
310 | - | @Callable( | |
311 | - | func setAdmins ( | |
312 | - | let | |
313 | - | if (( | |
314 | - | then [StringEntry( | |
323 | + | @Callable(ac) | |
324 | + | func setAdmins (aX) = { | |
325 | + | let aw = ae(ac) | |
326 | + | if ((aw == aw)) | |
327 | + | then [StringEntry(u(), makeString(aX, a))] | |
315 | 328 | else throw("Strict value is not equal to itself.") | |
316 | 329 | } | |
317 | 330 | ||
318 | 331 | ||
319 | 332 | ||
320 | - | @Callable( | |
321 | - | func setManager ( | |
322 | - | let | |
323 | - | if (( | |
333 | + | @Callable(ac) | |
334 | + | func setManager (aY) = { | |
335 | + | let aw = ae(ac) | |
336 | + | if ((aw == aw)) | |
324 | 337 | then { | |
325 | - | let | |
326 | - | if (( | |
327 | - | then [StringEntry( | |
338 | + | let aZ = fromBase58String(aY) | |
339 | + | if ((aZ == aZ)) | |
340 | + | then [StringEntry(t(), aY)] | |
328 | 341 | else throw("Strict value is not equal to itself.") | |
329 | 342 | } | |
330 | 343 | else throw("Strict value is not equal to itself.") | |
332 | 345 | ||
333 | 346 | ||
334 | 347 | ||
335 | - | @Callable( | |
348 | + | @Callable(ac) | |
336 | 349 | func confirmManager () = { | |
337 | - | let | |
338 | - | let | |
350 | + | let ba = aa() | |
351 | + | let bb = if (isDefined(ba)) | |
339 | 352 | then true | |
340 | 353 | else throw("No pending manager") | |
341 | - | if (( | |
354 | + | if ((bb == bb)) | |
342 | 355 | then { | |
343 | - | let | |
356 | + | let bc = if ((ac.callerPublicKey == value(ba))) | |
344 | 357 | then true | |
345 | 358 | else throw("You are not pending manager") | |
346 | - | if (( | |
347 | - | then [StringEntry( | |
359 | + | if ((bc == bc)) | |
360 | + | then [StringEntry(s(), toBase58String(value(ba))), DeleteEntry(t())] | |
348 | 361 | else throw("Strict value is not equal to itself.") | |
349 | 362 | } | |
350 | 363 | else throw("Strict value is not equal to itself.") | |
352 | 365 | ||
353 | 366 | ||
354 | 367 | ||
355 | - | @Callable(ab) | |
356 | - | func priceAssetsREADONLY () = { | |
357 | - | let bc = { | |
358 | - | let X = getString(Q()) | |
359 | - | if ($isInstanceOf(X, "String")) | |
360 | - | then { | |
361 | - | let Y = X | |
362 | - | if ((size(Y) == 0)) | |
363 | - | then nil | |
364 | - | else split(Y, a) | |
365 | - | } | |
366 | - | else nil | |
367 | - | } | |
368 | - | $Tuple2(nil, bc) | |
369 | - | } | |
368 | + | @Callable(ac) | |
369 | + | func priceAssetsREADONLY () = $Tuple2(nil, S(getString(P()))) | |
370 | 370 | ||
371 | 371 | ||
372 | 372 | ||
373 | - | @Callable( | |
374 | - | func statusREADONLY (x | |
375 | - | let | |
376 | - | let | |
377 | - | if ($isInstanceOf( | |
373 | + | @Callable(ac) | |
374 | + | func statusREADONLY (w,x) = { | |
375 | + | let ao = { | |
376 | + | let U = getString(v(w, x)) | |
377 | + | if ($isInstanceOf(U, "String")) | |
378 | 378 | then { | |
379 | - | let | |
380 | - | | |
379 | + | let V = U | |
380 | + | V | |
381 | 381 | } | |
382 | 382 | else unit | |
383 | 383 | } | |
384 | - | $Tuple2(nil, | |
384 | + | $Tuple2(nil, ao) | |
385 | 385 | } | |
386 | 386 | ||
387 | 387 | ||
388 | 388 | @Verifier(bd) | |
389 | 389 | func be () = { | |
390 | 390 | let bf = { | |
391 | - | let | |
392 | - | if ($isInstanceOf( | |
391 | + | let U = Z() | |
392 | + | if ($isInstanceOf(U, "ByteVector")) | |
393 | 393 | then { | |
394 | - | let | |
395 | - | | |
394 | + | let ad = U | |
395 | + | ad | |
396 | 396 | } | |
397 | - | else if ($isInstanceOf( | |
397 | + | else if ($isInstanceOf(U, "Unit")) | |
398 | 398 | then bd.senderPublicKey | |
399 | 399 | else throw("Match error") | |
400 | 400 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "__" | |
5 | 5 | ||
6 | - | let b = "" | |
6 | + | let b = "WAVES" | |
7 | 7 | ||
8 | - | let c = " | |
8 | + | let c = "Invalid price asset" | |
9 | 9 | ||
10 | - | let d = "Invalid price asset" | |
11 | - | ||
12 | - | func e (f) = throw(makeString(["user_pools.ride:", f], " ")) | |
10 | + | func d (e) = throw(makeString(["user_pools.ride:", e], " ")) | |
13 | 11 | ||
14 | 12 | ||
15 | - | func | |
13 | + | func f () = d("Permission denied") | |
16 | 14 | ||
17 | 15 | ||
18 | - | func | |
16 | + | func g () = d("Create is not called for assets pair") | |
19 | 17 | ||
20 | 18 | ||
21 | - | func | |
19 | + | func h () = d("You are not amountAsset issuer") | |
22 | 20 | ||
23 | 21 | ||
24 | - | func | |
22 | + | func i () = d("Pool with such assets already exists") | |
25 | 23 | ||
26 | 24 | ||
27 | - | func | |
25 | + | func j () = d("Asset is not verified") | |
28 | 26 | ||
29 | 27 | ||
30 | - | func | |
28 | + | func k () = d(c) | |
31 | 29 | ||
32 | 30 | ||
33 | - | func | |
31 | + | func l () = d("Invalid fee asset") | |
34 | 32 | ||
35 | 33 | ||
36 | - | func | |
34 | + | func m () = d("Invalid amount asset attached") | |
37 | 35 | ||
38 | 36 | ||
39 | - | func | |
37 | + | func n () = d("Invalid status") | |
40 | 38 | ||
41 | 39 | ||
42 | - | func | |
40 | + | func o () = d("Can activate pool only in 'pending' status") | |
43 | 41 | ||
44 | 42 | ||
45 | - | func | |
43 | + | func p () = d("FactoryV2 returned not string") | |
46 | 44 | ||
47 | 45 | ||
48 | - | func | |
46 | + | func q () = d("invalid price asset amount") | |
49 | 47 | ||
50 | 48 | ||
51 | - | func | |
49 | + | func r () = d("invalid fee") | |
52 | 50 | ||
53 | 51 | ||
54 | - | func | |
52 | + | func s () = makeString(["%s", "managerPublicKey"], a) | |
55 | 53 | ||
56 | 54 | ||
57 | - | func | |
55 | + | func t () = makeString(["%s", "pendingManagerPublicKey"], a) | |
58 | 56 | ||
59 | 57 | ||
60 | - | func | |
58 | + | func u () = makeString(["%s", "adminPubKeys"], a) | |
61 | 59 | ||
62 | 60 | ||
63 | - | func | |
61 | + | func v (w,x) = makeString(["%s%s%s", "status", w, x], a) | |
64 | 62 | ||
65 | 63 | ||
66 | - | func | |
64 | + | func y () = makeString(["%s", "factoryContract"], a) | |
67 | 65 | ||
68 | 66 | ||
69 | - | func | |
67 | + | func z () = makeString(["%s", "assetsStoreContract"], a) | |
70 | 68 | ||
71 | 69 | ||
72 | - | func | |
70 | + | func A (w,x) = makeString(["%s%s%s", "suffix", w, x], a) | |
73 | 71 | ||
74 | 72 | ||
75 | - | func | |
73 | + | func B () = makeString(["%s", "lastIndex"], a) | |
76 | 74 | ||
77 | 75 | ||
78 | - | let | |
76 | + | let C = "u" | |
79 | 77 | ||
80 | - | let | |
78 | + | let D = "pending" | |
81 | 79 | ||
82 | - | let | |
80 | + | let E = "declined" | |
83 | 81 | ||
84 | - | let | |
82 | + | let F = "active" | |
85 | 83 | ||
86 | - | let | |
84 | + | let G = [D, E, F] | |
87 | 85 | ||
88 | - | func | |
86 | + | func H (w,x) = makeString(["%s%s%s", "createCalled", w, x], a) | |
89 | 87 | ||
90 | 88 | ||
91 | - | func | |
89 | + | func I (w,x) = makeString(["%s%s%s", "amountAssetAmount", w, x], a) | |
92 | 90 | ||
93 | 91 | ||
94 | - | func | |
92 | + | func J (w,x) = makeString(["%s%s%s", "priceAssetAmount", w, x], a) | |
95 | 93 | ||
96 | 94 | ||
97 | - | func | |
95 | + | func K (w,x) = makeString(["%s%s%s", "height", w, x], a) | |
98 | 96 | ||
99 | 97 | ||
100 | - | func | |
98 | + | func L () = makeString(["%s", "feeAssetId"], a) | |
101 | 99 | ||
102 | 100 | ||
103 | - | func | |
101 | + | func M () = makeString(["%s", "feeAmount"], a) | |
104 | 102 | ||
105 | 103 | ||
106 | - | func | |
104 | + | func N () = makeString(["%s", "amountAssetMinAmount"], a) | |
107 | 105 | ||
108 | 106 | ||
109 | - | func | |
107 | + | func O () = makeString(["%s", "priceAssetsMinAmount"], a) | |
110 | 108 | ||
111 | 109 | ||
112 | - | func | |
110 | + | func P () = makeString(["%s", "priceAssetIds"], a) | |
113 | 111 | ||
114 | 112 | ||
115 | - | func | |
113 | + | func Q (R) = valueOrErrorMessage(getString(this, R), (R + " is not defined")) | |
116 | 114 | ||
117 | 115 | ||
118 | - | let T = addressFromStringValue(R(z())) | |
119 | - | ||
120 | - | func U (x,y) = valueOrElse(getBoolean(I(x, y)), false) | |
116 | + | func S (T) = { | |
117 | + | let U = T | |
118 | + | if ($isInstanceOf(U, "String")) | |
119 | + | then { | |
120 | + | let V = U | |
121 | + | if ((size(V) == 0)) | |
122 | + | then nil | |
123 | + | else split(V, a) | |
124 | + | } | |
125 | + | else if ($isInstanceOf(U, "Unit")) | |
126 | + | then nil | |
127 | + | else throw("Match error") | |
128 | + | } | |
121 | 129 | ||
122 | 130 | ||
123 | - | ||
124 | - | ||
125 | - | ||
131 | + | let W = addressFromStringValue(Q(y())) | |
132 | + | ||
133 | + | func X (w,x) = valueOrElse(getBoolean(H(w, x)), false) | |
126 | 134 | ||
127 | 135 | ||
128 | - | func W () = { | |
129 | - | let X = getString(t()) | |
130 | - | if ($isInstanceOf(X, "String")) | |
136 | + | func Y (w,x) = if (X(w, x)) | |
137 | + | then true | |
138 | + | else g() | |
139 | + | ||
140 | + | ||
141 | + | func Z () = { | |
142 | + | let U = getString(s()) | |
143 | + | if ($isInstanceOf(U, "String")) | |
131 | 144 | then { | |
132 | - | let | |
133 | - | fromBase58String( | |
145 | + | let V = U | |
146 | + | fromBase58String(V) | |
134 | 147 | } | |
135 | - | else if ($isInstanceOf( | |
148 | + | else if ($isInstanceOf(U, "Unit")) | |
136 | 149 | then unit | |
137 | 150 | else throw("Match error") | |
138 | 151 | } | |
139 | 152 | ||
140 | 153 | ||
141 | - | func | |
142 | - | let | |
143 | - | if ($isInstanceOf( | |
154 | + | func aa () = { | |
155 | + | let U = getString(t()) | |
156 | + | if ($isInstanceOf(U, "String")) | |
144 | 157 | then { | |
145 | - | let | |
146 | - | fromBase58String( | |
158 | + | let V = U | |
159 | + | fromBase58String(V) | |
147 | 160 | } | |
148 | - | else if ($isInstanceOf( | |
161 | + | else if ($isInstanceOf(U, "Unit")) | |
149 | 162 | then unit | |
150 | 163 | else throw("Match error") | |
151 | 164 | } | |
152 | 165 | ||
153 | 166 | ||
154 | - | func | |
155 | - | let | |
156 | - | if ($isInstanceOf( | |
167 | + | func ab (ac) = { | |
168 | + | let U = Z() | |
169 | + | if ($isInstanceOf(U, "ByteVector")) | |
157 | 170 | then { | |
158 | - | let | |
159 | - | ( | |
171 | + | let ad = U | |
172 | + | (ac.callerPublicKey == ad) | |
160 | 173 | } | |
161 | - | else if ($isInstanceOf( | |
162 | - | then ( | |
174 | + | else if ($isInstanceOf(U, "Unit")) | |
175 | + | then (ac.caller == this) | |
163 | 176 | else throw("Match error") | |
164 | 177 | } | |
165 | 178 | ||
166 | 179 | ||
167 | - | func | |
180 | + | func ae (ac) = if (ab(ac)) | |
168 | 181 | then true | |
169 | - | else | |
182 | + | else f() | |
170 | 183 | ||
171 | 184 | ||
172 | - | func | |
173 | - | let | |
174 | - | if (containsElement( | |
185 | + | func af (ac) = { | |
186 | + | let ag = S(getString(u())) | |
187 | + | if (containsElement(ag, toBase58String(ac.callerPublicKey))) | |
175 | 188 | then true | |
176 | - | else | |
189 | + | else ae(ac) | |
177 | 190 | } | |
178 | 191 | ||
179 | 192 | ||
180 | - | func | |
193 | + | func ah (ai) = (valueOrElse(getInteger(addressFromStringValue(Q(z())), (("status_<" + ai) + ">")), 0) == 2) | |
181 | 194 | ||
182 | 195 | ||
183 | - | func | |
184 | - | let | |
185 | - | if ($isInstanceOf( | |
196 | + | func aj (ak) = { | |
197 | + | let U = ak.assetId | |
198 | + | if ($isInstanceOf(U, "ByteVector")) | |
186 | 199 | then { | |
187 | - | let | |
188 | - | let | |
189 | - | $Tuple2(toBase58String( | |
200 | + | let al = U | |
201 | + | let am = value(assetInfo(al)) | |
202 | + | $Tuple2(toBase58String(al), am) | |
190 | 203 | } | |
191 | - | else if ($isInstanceOf( | |
192 | - | then $Tuple2( | |
204 | + | else if ($isInstanceOf(U, "Unit")) | |
205 | + | then $Tuple2(b, unit) | |
193 | 206 | else throw("Match error") | |
194 | 207 | } | |
195 | 208 | ||
196 | 209 | ||
197 | - | func | |
210 | + | func an (ao) = containsElement(G, ao) | |
198 | 211 | ||
199 | 212 | ||
200 | - | @Callable( | |
201 | - | func constructor ( | |
202 | - | let | |
203 | - | if (( | |
204 | - | then [StringEntry( | |
213 | + | @Callable(ac) | |
214 | + | func constructor (ap,aq,ar,as,at,au,av) = { | |
215 | + | let aw = ae(ac) | |
216 | + | if ((aw == aw)) | |
217 | + | then [StringEntry(y(), ap), StringEntry(z(), aq), StringEntry(P(), makeString(ar, a)), StringEntry(O(), makeString(as, a)), IntegerEntry(N(), at), StringEntry(L(), au), IntegerEntry(M(), av)] | |
205 | 218 | else throw("Strict value is not equal to itself.") | |
206 | 219 | } | |
207 | 220 | ||
208 | 221 | ||
209 | 222 | ||
210 | - | @Callable( | |
223 | + | @Callable(ac) | |
211 | 224 | func create () = { | |
212 | - | let | |
213 | - | let | |
214 | - | let | |
215 | - | let | |
216 | - | let | |
217 | - | let | |
218 | - | let | |
219 | - | let | |
220 | - | let | |
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | let | |
225 | - | let | |
226 | - | let | |
227 | - | then | |
225 | + | let ax = value(ac.payments[0]) | |
226 | + | let ay = value(ac.payments[1]) | |
227 | + | let az = value(ac.payments[2]) | |
228 | + | let aA = aj(ax) | |
229 | + | let w = aA._1 | |
230 | + | let aB = aA._2 | |
231 | + | let aC = aj(ay) | |
232 | + | let x = aC._1 | |
233 | + | let aD = aC._2 | |
234 | + | let aE = aj(az) | |
235 | + | let au = aE._1 | |
236 | + | let aF = aE._2 | |
237 | + | let aG = S(getString(P())) | |
238 | + | let aH = 1 | |
239 | + | let aI = if (ab(ac)) | |
240 | + | then aH | |
228 | 241 | else { | |
229 | - | let | |
230 | - | value(parseInt( | |
242 | + | let aJ = valueOrErrorMessage(indexOf(aG, x), c) | |
243 | + | value(parseInt(S(getString(O()))[aJ])) | |
231 | 244 | } | |
232 | - | let | |
233 | - | let | |
234 | - | let | |
245 | + | let aK = valueOrElse(getInteger(B()), 0) | |
246 | + | let aL = (aK + 1) | |
247 | + | let aM = [if (!(X(w, x))) | |
235 | 248 | then true | |
236 | - | else | |
249 | + | else i(), if (if (ab(ac)) | |
237 | 250 | then true | |
238 | - | else (value( | |
251 | + | else (value(aB).issuer == ac.caller)) | |
239 | 252 | then true | |
240 | - | else | |
253 | + | else h(), if (ah(w)) | |
241 | 254 | then true | |
242 | - | else | |
255 | + | else j(), if ((getString(L()) == au)) | |
243 | 256 | then true | |
244 | - | else | |
257 | + | else l(), if ((ax.amount >= getIntegerValue(N()))) | |
245 | 258 | then true | |
246 | - | else | |
259 | + | else m(), if ((ay.amount >= aI)) | |
247 | 260 | then true | |
248 | - | else | |
261 | + | else q(), if ((az.amount == getInteger(M()))) | |
249 | 262 | then true | |
250 | - | else | |
251 | - | if (( | |
252 | - | then [BooleanEntry( | |
263 | + | else r()] | |
264 | + | if ((aM == aM)) | |
265 | + | then [BooleanEntry(H(w, x), true), IntegerEntry(B(), aL), StringEntry(A(w, x), (toString(aL) + C)), IntegerEntry(K(w, x), height), StringEntry(v(w, x), D), IntegerEntry(I(w, x), ax.amount), IntegerEntry(J(w, x), ay.amount)] | |
253 | 266 | else throw("Strict value is not equal to itself.") | |
254 | 267 | } | |
255 | 268 | ||
256 | 269 | ||
257 | 270 | ||
258 | - | @Callable( | |
259 | - | func activate ( | |
260 | - | let | |
271 | + | @Callable(ac) | |
272 | + | func activate (aN,w,aO,x,aP,aQ) = { | |
273 | + | let aM = [af(ac), if (X(w, x)) | |
261 | 274 | then true | |
262 | - | else | |
275 | + | else g(), if ((value(getString(v(w, x))) == D)) | |
263 | 276 | then true | |
264 | - | else | |
265 | - | if (( | |
277 | + | else o()] | |
278 | + | if ((aM == aM)) | |
266 | 279 | then { | |
267 | - | let | |
268 | - | if (( | |
280 | + | let aR = invoke(W, "activateNewPool", [aN, w, x, ((aO + aP) + "LP"), (((aO + "/") + aP) + " pool liquidity provider token"), 0, "VLTPOOL", aQ], nil) | |
281 | + | if ((aR == aR)) | |
269 | 282 | then { | |
270 | - | let | |
271 | - | let | |
272 | - | if ($isInstanceOf( | |
283 | + | let aS = { | |
284 | + | let U = aR | |
285 | + | if ($isInstanceOf(U, "String")) | |
273 | 286 | then { | |
274 | - | let | |
275 | - | | |
287 | + | let al = U | |
288 | + | al | |
276 | 289 | } | |
277 | - | else | |
290 | + | else p() | |
278 | 291 | } | |
279 | - | if (( | |
292 | + | if ((aS == aS)) | |
280 | 293 | then { | |
281 | - | let | |
282 | - | if (( | |
294 | + | let aT = assetBalance(this, fromBase58String(aS)) | |
295 | + | if ((aT == aT)) | |
283 | 296 | then { | |
284 | - | let | |
297 | + | let aU = invoke(addressFromStringValue(aN), "put", [0, false], [AttachedPayment(fromBase58String(w), value(getInteger(I(w, x)))), AttachedPayment(if ((x == "WAVES")) | |
285 | 298 | then unit | |
286 | - | else fromBase58String( | |
287 | - | if (( | |
299 | + | else fromBase58String(x), value(getInteger(J(w, x))))]) | |
300 | + | if ((aU == aU)) | |
288 | 301 | then { | |
289 | - | let | |
290 | - | if (( | |
302 | + | let aV = assetBalance(this, fromBase58String(aS)) | |
303 | + | if ((aV == aV)) | |
291 | 304 | then { | |
292 | - | let | |
293 | - | [StringEntry(w | |
305 | + | let aW = value(assetInfo(fromBase58String(w))).issuer | |
306 | + | [StringEntry(v(w, x), F), ScriptTransfer(aW, (aV - aT), fromBase58String(aS))] | |
294 | 307 | } | |
295 | 308 | else throw("Strict value is not equal to itself.") | |
296 | 309 | } | |
297 | 310 | else throw("Strict value is not equal to itself.") | |
298 | 311 | } | |
299 | 312 | else throw("Strict value is not equal to itself.") | |
300 | 313 | } | |
301 | 314 | else throw("Strict value is not equal to itself.") | |
302 | 315 | } | |
303 | 316 | else throw("Strict value is not equal to itself.") | |
304 | 317 | } | |
305 | 318 | else throw("Strict value is not equal to itself.") | |
306 | 319 | } | |
307 | 320 | ||
308 | 321 | ||
309 | 322 | ||
310 | - | @Callable( | |
311 | - | func setAdmins ( | |
312 | - | let | |
313 | - | if (( | |
314 | - | then [StringEntry( | |
323 | + | @Callable(ac) | |
324 | + | func setAdmins (aX) = { | |
325 | + | let aw = ae(ac) | |
326 | + | if ((aw == aw)) | |
327 | + | then [StringEntry(u(), makeString(aX, a))] | |
315 | 328 | else throw("Strict value is not equal to itself.") | |
316 | 329 | } | |
317 | 330 | ||
318 | 331 | ||
319 | 332 | ||
320 | - | @Callable( | |
321 | - | func setManager ( | |
322 | - | let | |
323 | - | if (( | |
333 | + | @Callable(ac) | |
334 | + | func setManager (aY) = { | |
335 | + | let aw = ae(ac) | |
336 | + | if ((aw == aw)) | |
324 | 337 | then { | |
325 | - | let | |
326 | - | if (( | |
327 | - | then [StringEntry( | |
338 | + | let aZ = fromBase58String(aY) | |
339 | + | if ((aZ == aZ)) | |
340 | + | then [StringEntry(t(), aY)] | |
328 | 341 | else throw("Strict value is not equal to itself.") | |
329 | 342 | } | |
330 | 343 | else throw("Strict value is not equal to itself.") | |
331 | 344 | } | |
332 | 345 | ||
333 | 346 | ||
334 | 347 | ||
335 | - | @Callable( | |
348 | + | @Callable(ac) | |
336 | 349 | func confirmManager () = { | |
337 | - | let | |
338 | - | let | |
350 | + | let ba = aa() | |
351 | + | let bb = if (isDefined(ba)) | |
339 | 352 | then true | |
340 | 353 | else throw("No pending manager") | |
341 | - | if (( | |
354 | + | if ((bb == bb)) | |
342 | 355 | then { | |
343 | - | let | |
356 | + | let bc = if ((ac.callerPublicKey == value(ba))) | |
344 | 357 | then true | |
345 | 358 | else throw("You are not pending manager") | |
346 | - | if (( | |
347 | - | then [StringEntry( | |
359 | + | if ((bc == bc)) | |
360 | + | then [StringEntry(s(), toBase58String(value(ba))), DeleteEntry(t())] | |
348 | 361 | else throw("Strict value is not equal to itself.") | |
349 | 362 | } | |
350 | 363 | else throw("Strict value is not equal to itself.") | |
351 | 364 | } | |
352 | 365 | ||
353 | 366 | ||
354 | 367 | ||
355 | - | @Callable(ab) | |
356 | - | func priceAssetsREADONLY () = { | |
357 | - | let bc = { | |
358 | - | let X = getString(Q()) | |
359 | - | if ($isInstanceOf(X, "String")) | |
360 | - | then { | |
361 | - | let Y = X | |
362 | - | if ((size(Y) == 0)) | |
363 | - | then nil | |
364 | - | else split(Y, a) | |
365 | - | } | |
366 | - | else nil | |
367 | - | } | |
368 | - | $Tuple2(nil, bc) | |
369 | - | } | |
368 | + | @Callable(ac) | |
369 | + | func priceAssetsREADONLY () = $Tuple2(nil, S(getString(P()))) | |
370 | 370 | ||
371 | 371 | ||
372 | 372 | ||
373 | - | @Callable( | |
374 | - | func statusREADONLY (x | |
375 | - | let | |
376 | - | let | |
377 | - | if ($isInstanceOf( | |
373 | + | @Callable(ac) | |
374 | + | func statusREADONLY (w,x) = { | |
375 | + | let ao = { | |
376 | + | let U = getString(v(w, x)) | |
377 | + | if ($isInstanceOf(U, "String")) | |
378 | 378 | then { | |
379 | - | let | |
380 | - | | |
379 | + | let V = U | |
380 | + | V | |
381 | 381 | } | |
382 | 382 | else unit | |
383 | 383 | } | |
384 | - | $Tuple2(nil, | |
384 | + | $Tuple2(nil, ao) | |
385 | 385 | } | |
386 | 386 | ||
387 | 387 | ||
388 | 388 | @Verifier(bd) | |
389 | 389 | func be () = { | |
390 | 390 | let bf = { | |
391 | - | let | |
392 | - | if ($isInstanceOf( | |
391 | + | let U = Z() | |
392 | + | if ($isInstanceOf(U, "ByteVector")) | |
393 | 393 | then { | |
394 | - | let | |
395 | - | | |
394 | + | let ad = U | |
395 | + | ad | |
396 | 396 | } | |
397 | - | else if ($isInstanceOf( | |
397 | + | else if ($isInstanceOf(U, "Unit")) | |
398 | 398 | then bd.senderPublicKey | |
399 | 399 | else throw("Match error") | |
400 | 400 | } | |
401 | 401 | sigVerify(bd.bodyBytes, bd.proofs[0], bf) | |
402 | 402 | } | |
403 | 403 |
github/deemru/w8io/169f3d6 1090.34 ms ◑![]()