tx · DV7SomWb19SHHRrvem9oRynJYarjvLvuBuE3ZGLmG1jL

3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr:  -0.01900000 Waves

2022.06.01 16:32 [2077352] smart account 3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr > SELF 0.00000000 Waves

{ "type": 13, "id": "DV7SomWb19SHHRrvem9oRynJYarjvLvuBuE3ZGLmG1jL", "fee": 1900000, "feeAssetId": null, "timestamp": 1654090395781, "version": 1, "sender": "3N5BB6iE58rujeTEkymeLNcdsYF4f6iKoxr", "senderPublicKey": "EtZZHS4uqNXY5WPneZ8jY2aA95peXwthJVLzAMxMp379", "proofs": [ "2EoFfadfj6erPGw7ehnK9Mm4BqcoJKGkaMZ6izQ7yViKHB2mJTTEuGBLy7wFEYQQZjDtW2dKuffkQLmSNrdVwQyi" ], "script": "base64:AAIFAAAAAAAAAGMIAhIECgIIGBIDCgEIEgUKAwgICBIDCgEIEgMKAQgSAwoBCBIECgIICBIECgIICBIECgIICBIDCgEIEgUKAwgIBBIECgIICBIECgIIBBIDCgEIEgMKARgSAwoBCBIAEgMKAQgAAAArAAAAAANTRVACAAAAAl9fAAAAAAVFTVBUWQIAAAAAAAAAAA5zdGF0dXNWZXJpZmllZAAAAAAAAAAAAgAAAAAQc3RhdHVzVW52ZXJpZmllZAAAAAAAAAAAAAAAAAAWbGFiZWxDb21tdW5pdHlWZXJpZmllZAIAAAASQ09NTVVOSVRZX1ZFUklGSUVEAAAAAAxsYWJlbFBvb2xzTHACAAAACFBPT0xTX0xQAAAAAA1kZWZhdWx0TGFiZWxzCQAETAAAAAIFAAAAFmxhYmVsQ29tbXVuaXR5VmVyaWZpZWQJAARMAAAAAgUAAAAMbGFiZWxQb29sc0xwBQAAAANuaWwBAAAAB3Rocm93UEQAAAAACQAAAgAAAAECAAAAEVBlcm1pc3Npb24gZGVuaWVkAQAAAAx0aHJvd05vQXNzZXQAAAAACQAAAgAAAAECAAAAFEFzc2V0IGRvZXNuJ3QgZXhpc3RzAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAUJXNfX21hbmFnZXJQdWJsaWNLZXkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AQAAAA9rZXlBZG1pblB1YktleXMAAAAAAgAAABAlc19fYWRtaW5QdWJLZXlzAQAAABRrZXlVc2VyUG9vbHNDb250cmFjdAAAAAACAAAAFSVzX191c2VyUG9vbHNDb250cmFjdAEAAAAZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdAAAAAACAAAAGiVzX192b3RpbmdFbWlzc2lvbkNvbnRyYWN0AQAAAAprZXlDcmVhdGVkAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAJY3JlYXRlZF88BQAAAAdhc3NldElkAgAAAAE+AQAAAAdrZXlMb2dvAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAGbG9nb188BQAAAAdhc3NldElkAgAA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AAABBQAAAAFpAwkAAAAAAAACBQAAAAlpc01hbmFnZXIFAAAACWlzTWFuYWdlcgYJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAAAlpc0NyZWF0ZWQAAAABAAAAB2Fzc2V0SWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQgAAAAAQkBAAAACmtleUNyZWF0ZWQAAAABBQAAAAdhc3NldElkBwEAAAAQdmVyaWZpZWRUb1N0YXR1cwAAAAEAAAAIdmVyaWZpZWQDBQAAAAh2ZXJpZmllZAUAAAAOc3RhdHVzVmVyaWZpZWQFAAAAEHN0YXR1c1VudmVyaWZpZWQBAAAAD2FkZExhYmVsQWN0aW9ucwAAAAMAAAAHYXNzZXRJZAAAAAVsYWJlbAAAAAx0aHJvd09uRXJyb3IEAAAABmxhYmVscwkBAAAACWdldExhYmVscwAAAAAEAAAAC2Fzc2V0TGFiZWxzCQEAAAAOZ2V0QXNzZXRMYWJlbHMAAAABBQAAAAdhc3NldElkBAAAAApjaGVja0xhYmVsAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAABmxhYmVscwUAAAAFbGFiZWwGCQAAAgAAAAECAAAAE0xhYmVsIGRvZXNuJ3QgZXhpc3QDCQAAAAAAAAIFAAAACmNoZWNrTGFiZWwFAAAACmNoZWNrTGFiZWwEAAAADm5ld0Fzc2V0TGFiZWxzAwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAC2Fzc2V0TGFiZWxzBQAAAAVsYWJlbAMFAAAADHRocm93T25FcnJvcgkAAAIAAAABAgAAABxMYWJlbCBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkBQAAAAthc3NldExhYmVscwkABE0AAAACBQAAAAthc3NldExhYmVscwUAAAAFbGFiZWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleUFzc2V0TGFiZWxzAAAAAQUAAAAHYXNzZXRJZAkABLkAAAACBQAAAA5uZXdBc3NldExhYmVscwUAAAADU0VQBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAABJkZWxldGVMYWJlbEFjdGlvbnMAAAADAAAAB2Fzc2V0SWQAAAAFbGFiZWwAAAAMdGhyb3dPbkVycm9yBAAAAAthc3NldExhYmVscwkBAAAADmdldEFzc2V0TGFiZWxzAAAAAQUAAAAHYXNzZXRJZAQAAAAObmV3QXNzZXRMYWJlbHMDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAALYXNzZXRMYWJlbHMFAAAABWxhYmVsCQAEUQAAAAIFAAAAC2Fzc2V0TGFiZWxzCQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAAC2Fzc2V0TGFiZWxzBQAAAAVsYWJlbAMFAAAADHRocm93T25FcnJvcgkAAAIAAAABAgAAABJMYWJlbCB3YXNuJ3QgYWRkZWQFAAAAC2Fzc2V0TGFiZWxzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA5rZXlBc3NldExhYmVscwAAAAEFAAAAB2Fzc2V0SWQJAAS5AAAAAgUAAAAObmV3QXNzZXRMYWJlbHMFAAAAA1NFUAUAAAADbmlsAQAAABJzZXRWZXJpZmllZEFjdGlvbnMAAAACAAAAB2Fzc2V0SWQAAAAIdmVyaWZpZWQEAAAAHWxhYmVsQ29tbXVuaXR5VmVyaWZpZWRBY3Rpb25zAwUAAAAIdmVyaWZpZWQJAQAAAA9hZGRMYWJlbEFjdGlvbnMAAAADBQAAAAdhc3NldElkBQAAABZsYWJlbENvbW11bml0eVZlcmlmaWVkBwkBAAAAEmRlbGV0ZUxhYmVsQWN0aW9ucwAAAAMFAAAAB2Fzc2V0SWQFAAAAFmxhYmVsQ29tbXVuaXR5VmVyaWZpZWQHCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAlrZXlTdGF0dXMAAAABBQAAAAdhc3NldElkCQEAAAAQdmVyaWZpZWRUb1N0YXR1cwAAAAEFAAAACHZlcmlmaWVkBQAAAANuaWwFAAAAHWxhYmVsQ29tbXVuaXR5VmVyaWZpZWRBY3Rpb25zAQAAABN1cGRhdGVUaWNrZXJBY3Rpb25zAAAAAgAAAAdhc3NldElkAAAABnRpY2tlcgQAAAALY2hlY2tUaWNrZXIEAAAAE2xpbmtlZEFzc2V0SWRPclVuaXQJAAQiAAAAAQkBAAAAEmtleVRpY2tlclRvQXNzZXRJZAAAAAEFAAAABnRpY2tlcgQAAAANdGlja2VySXNWYWxpZAMJAQAAAAIhPQAAAAIFAAAABnRpY2tlcgIAAAAAAwkAAAAAAAACBQAAABNsaW5rZWRBc3NldElkT3JVbml0BQAAAAR1bml0BgkAAAAAAAACCQEAAAAFdmFsdWUAAAABBQAAABNsaW5rZWRBc3NldElkT3JVbml0BQAAAAdhc3NldElkBwMFAAAADXRpY2tlcklzVmFsaWQGCQAAAgAAAAECAAAADkludmFsaWQgdGlja2VyAwkAAAAAAAACBQAAAAtjaGVja1RpY2tlcgUAAAALY2hlY2tUaWNrZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUFzc2V0SWRUb1RpY2tlcgAAAAEFAAAAB2Fzc2V0SWQFAAAABnRpY2tlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5VGlja2VyVG9Bc3NldElkAAAAAQUAAAAGdGlja2VyBQAAAAdhc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAEgAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAIAAAARdXNlclBvb2xzQ29udHJhY3QAAAAGbGFiZWxzBAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAA1jaGVja3NBZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAARdXNlclBvb2xzQ29udHJhY3QCAAAAD0ludmFsaWQgYWRkcmVzcwMJAAAAAAAAAgUAAAANY2hlY2tzQWRkcmVzcwUAAAANY2hlY2tzQWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAUa2V5VXNlclBvb2xzQ29udHJhY3QAAAAABQAAABF1c2VyUG9vbHNDb250cmFjdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5TGFiZWxzAAAAAAkABLkAAAACCQAETgAAAAIFAAAADWRlZmF1bHRMYWJlbHMFAAAABmxhYmVscwUAAAADU0VQBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA1jb25zdHJ1Y3RvclYyAAAAAQAAABZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0BAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAAxjaGVja0FkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAABZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0AgAAAChpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjb250cmFjdCBhZGRyZXNzAwkAAAAAAAACBQAAAAxjaGVja0FkZHJlc3MFAAAADGNoZWNrQWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdAAAAAAFAAAAFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADWFkZEFzc2V0c0xpbmsAAAADAAAAC2Ftb3VudEFzc2V0AAAACnByaWNlQXNzZXQAAAAHbHBBc3NldAQAAAALY2hlY2tDYWxsZXIJAQAAAAltdXN0QWRtaW4AAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAIGtleUFtb3VudEFuZFByaWNlQXNzZXRzVG9McEFzc2V0AAAAAgUAAAALYW1vdW50QXNzZXQFAAAACnByaWNlQXNzZXQFAAAAB2xwQXNzZXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAIGtleUxwQXNzZXRUb0Ftb3VudEFuZFByaWNlQXNzZXRzAAAAAQUAAAAHbHBBc3NldAkABLkAAAACCQAETAAAAAIFAAAAC2Ftb3VudEFzc2V0CQAETAAAAAIFAAAACnByaWNlQXNzZXQFAAAAA25pbAUAAAADU0VQBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgAAAAEAAAAHYXNzZXRJZAQAAAALY2hlY2tDYWxsZXIJAQAAAAltdXN0QWRtaW4AAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAE2Fzc2V0UG9vbHNOdW1iZXJLZXkJAQAAABNrZXlBc3NldFBvb2xzTnVtYmVyAAAAAQUAAAAHYXNzZXRJZAQAAAAQYXNzZXRQb29sc051bWJlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB8AAAABBQAAABNhc3NldFBvb2xzTnVtYmVyS2V5AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNhc3NldFBvb2xzTnVtYmVyS2V5CQAAZAAAAAIFAAAAEGFzc2V0UG9vbHNOdW1iZXIAAAAAAAAAAAEFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAALY3JlYXRlTGFiZWwAAAABAAAABWxhYmVsBAAAAAZsYWJlbHMJAQAAAAlnZXRMYWJlbHMAAAAABAAAAAtjaGVja0NhbGxlcgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyBAAAAApjaGVja0xhYmVsCQAETAAAAAIDCQEAAAABIQAAAAEJAQAAAAhjb250YWlucwAAAAIFAAAABWxhYmVsBQAAAANTRVAGCQAAAgAAAAECAAAAEkludmFsaWQgbGFiZWwgbmFtZQkABEwAAAACAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAGbGFiZWxzBQAAAAVsYWJlbAYJAAACAAAAAQIAAAAMTGFiZWwgZXhpc3RzBQAAAANuaWwDCQAAAAAAAAIFAAAACmNoZWNrTGFiZWwFAAAACmNoZWNrTGFiZWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACWtleUxhYmVscwAAAAAJAAS5AAAAAgkABE0AAAACBQAAAAZsYWJlbHMFAAAABWxhYmVsBQAAAANTRVAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACWRyb3BMYWJlbAAAAAEAAAAFbGFiZWwEAAAABmxhYmVscwkBAAAACWdldExhYmVscwAAAAAEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAACmNoZWNrTGFiZWwDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAAGbGFiZWxzBQAAAAVsYWJlbAYJAAACAAAAAQIAAAATTGFiZWwgZG9lc24ndCBleGlzdAMJAAAAAAAAAgUAAAAKY2hlY2tMYWJlbAUAAAAKY2hlY2tMYWJlbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5TGFiZWxzAAAAAAkABLkAAAACCQAEUQAAAAIFAAAABmxhYmVscwkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAZsYWJlbHMFAAAABWxhYmVsBQAAAANTRVAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACGFkZExhYmVsAAAAAgAAAAdhc3NldElkAAAABWxhYmVsBAAAAAtjaGVja0NhbGxlcgkBAAAACW11c3RBZG1pbgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkBAAAAD2FkZExhYmVsQWN0aW9ucwAAAAMFAAAAB2Fzc2V0SWQFAAAABWxhYmVsBgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAALZGVsZXRlTGFiZWwAAAACAAAAB2Fzc2V0SWQAAAAFbGFiZWwEAAAAC2NoZWNrQ2FsbGVyCQEAAAAJbXVzdEFkbWluAAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyCQEAAAASZGVsZXRlTGFiZWxBY3Rpb25zAAAAAwUAAAAHYXNzZXRJZAUAAAAFbGFiZWwGCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAx1cGRhdGVUaWNrZXIAAAACAAAAB2Fzc2V0SWQAAAAGdGlja2VyBAAAAAtjaGVja0NhbGxlcgkBAAAACW11c3RBZG1pbgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAKY2hlY2tBc3NldAMJAQAAAAlpc0NyZWF0ZWQAAAABBQAAAAdhc3NldElkBgkBAAAADHRocm93Tm9Bc3NldAAAAAADCQAAAAAAAAIFAAAACmNoZWNrQXNzZXQFAAAACmNoZWNrQXNzZXQJAQAAABN1cGRhdGVUaWNrZXJBY3Rpb25zAAAAAgUAAAAHYXNzZXRJZAUAAAAGdGlja2VyCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAMZGVsZXRlVGlja2VyAAAAAQAAAAdhc3NldElkBAAAAAtjaGVja0NhbGxlcgkBAAAACW11c3RBZG1pbgAAAAEFAAAAAWkDCQAAAAAAAAIF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ZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQACWQAAAAEFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAAAAAACBQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOY29uZmlybU1hbmFnZXIAAAAABAAAAAJwbQkBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAFaGFzUE0DCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAACcG0GCQAAAgAAAAECAAAAEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAAFaGFzUE0FAAAABWhhc1BNBAAAAAdjaGVja1BNAwkAAAAAAAACCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABtZb3UgYXJlIG5vdCBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAAB2NoZWNrUE0FAAAAB2NoZWNrUE0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAACQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAAnBtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAEmlzVmVyaWZpZWRSRUFET05MWQAAAAEAAAAHYXNzZXRJZAkABRQAAAACBQAAAANuaWwJAQAAAAppc1ZlcmlmaWVkAAAAAQUAAAAHYXNzZXRJZAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAD3RhcmdldFB1YmxpY0tleQQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAUAAAACcGsDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA90YXJnZXRQdWJsaWNLZXm+JnId", "chainId": 84, "height": 2077352, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 99wmeESAQgAqHa6i5dsxt5mEaXye1sK7nHhdzUgNC3Pc Next: 5X6TRPfZnmdieNQbay2CxvEFmF7gmxJMLziRNAbq1zie Diff:
OldNewDifferences
1414 let labelPoolsLp = "POOLS_LP"
1515
1616 let defaultLabels = [labelCommunityVerified, labelPoolsLp]
17-
18-let poolLabelWxEmission = "WX_EMISSION"
19-
20-let validPoolLabels = [poolLabelWxEmission]
2117
2218 func throwPD () = throw("Permission denied")
2319
7167
7268
7369 func keyLabels () = makeString(["%s", "labels"], SEP)
74-
75-
76-func keyPoolLabels (amountAssetId,priceAssetId) = makeString(["%s%s%s", "poolLabels", amountAssetId, priceAssetId], SEP)
7770
7871
7972 func getValueOrFail (address,key,type) = {
473466
474467
475468 @Callable(i)
476-func setPoolLabels (amountAssetId,priceAssetId,label) = {
477- let checkCaller = mustAdmin(i)
478- if ((checkCaller == checkCaller))
479- then {
480- let isValidLabel = if (containsElement(validPoolLabels, label))
481- then true
482- else throw("label is not valid")
483- if ((isValidLabel == isValidLabel))
484- then $Tuple2([StringEntry(keyPoolLabels(amountAssetId, priceAssetId), label)], unit)
485- else throw("Strict value is not equal to itself.")
486- }
487- else throw("Strict value is not equal to itself.")
488- }
489-
490-
491-
492-@Callable(i)
493469 func setManager (pendingManagerPublicKey) = {
494470 let checkCaller = mustManager(i)
495471 if ((checkCaller == checkCaller))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SEP = "__"
55
66 let EMPTY = ""
77
88 let statusVerified = 2
99
1010 let statusUnverified = 0
1111
1212 let labelCommunityVerified = "COMMUNITY_VERIFIED"
1313
1414 let labelPoolsLp = "POOLS_LP"
1515
1616 let defaultLabels = [labelCommunityVerified, labelPoolsLp]
17-
18-let poolLabelWxEmission = "WX_EMISSION"
19-
20-let validPoolLabels = [poolLabelWxEmission]
2117
2218 func throwPD () = throw("Permission denied")
2319
2420
2521 func throwNoAsset () = throw("Asset doesn't exists")
2622
2723
2824 func keyManagerPublicKey () = "%s__managerPublicKey"
2925
3026
3127 func keyPendingManagerPublicKey () = "%s__pendingManagerPublicKey"
3228
3329
3430 func keyAdminPubKeys () = "%s__adminPubKeys"
3531
3632
3733 func keyUserPoolsContract () = "%s__userPoolsContract"
3834
3935
4036 func keyVotingEmissionContract () = "%s__votingEmissionContract"
4137
4238
4339 func keyCreated (assetId) = (("created_<" + assetId) + ">")
4440
4541
4642 func keyLogo (assetId) = (("logo_<" + assetId) + ">")
4743
4844
4945 func keyTicker (assetId) = (("ticker_<" + assetId) + ">")
5046
5147
5248 func keyStatus (assetId) = (("status_<" + assetId) + ">")
5349
5450
5551 func keyAssetPoolsNumber (assetId) = makeString(["%s%s", "pools", assetId], SEP)
5652
5753
5854 func keyTickerToAssetId (ticker) = makeString(["%s%s", "ticker2assetId", ticker], SEP)
5955
6056
6157 func keyAssetIdToTicker (assetId) = makeString(["%s%s", "assetId2ticker", assetId], SEP)
6258
6359
6460 func keyAmountAndPriceAssetsToLpAsset (amountAsset,priceAsset) = makeString(["%s%s%s", "amountAndPriceAssetsToLpAsset", amountAsset, priceAsset], SEP)
6561
6662
6763 func keyLpAssetToAmountAndPriceAssets (lpAsset) = makeString(["%s%s", "lpAssetToAmountAndPriceAssets", lpAsset], SEP)
6864
6965
7066 func keyAssetLabels (assetId) = makeString(["%s%s", "labels", assetId], SEP)
7167
7268
7369 func keyLabels () = makeString(["%s", "labels"], SEP)
74-
75-
76-func keyPoolLabels (amountAssetId,priceAssetId) = makeString(["%s%s%s", "poolLabels", amountAssetId, priceAssetId], SEP)
7770
7871
7972 func getValueOrFail (address,key,type) = {
8073 let error = makeString(["mandatory ", toString(address), ".", key, " is not defined"], "")
8174 valueOrErrorMessage( match type {
8275 case str: String =>
8376 getString(address, key)
8477 case int: Int =>
8578 getInteger(address, key)
8679 case _ =>
8780 throw("invalid entry type")
8881 }, error)
8982 }
9083
9184
9285 func getStrOrFail (address,key) = {
9386 let @ = getValueOrFail(address, key, 0)
9487 if ($isInstanceOf(@, "String"))
9588 then @
9689 else throw("Couldn't cast Int|String to String")
9790 }
9891
9992
10093 func getStrOrUnit (address,key) = {
10194 let @ = getValueOrFail(address, key, 0)
10295 if ($isInstanceOf(@, "String"))
10396 then @
10497 else unit
10598 }
10699
107100
108101 func getIntOrFail (address,key) = {
109102 let @ = getValueOrFail(address, key, 0)
110103 if ($isInstanceOf(@, "Int"))
111104 then @
112105 else throw("Couldn't cast Int|String to Int")
113106 }
114107
115108
116109 func getIntOrUnit (address,key) = {
117110 let @ = getValueOrFail(address, key, 0)
118111 if ($isInstanceOf(@, "Int"))
119112 then @
120113 else unit
121114 }
122115
123116
124117 func isVerified (assetId) = (valueOrElse(getInteger(keyStatus(assetId)), statusUnverified) == statusVerified)
125118
126119
127120 func getLabels () = match getString(keyLabels()) {
128121 case s: String =>
129122 if ((size(s) == 0))
130123 then nil
131124 else split(s, SEP)
132125 case _ =>
133126 nil
134127 }
135128
136129
137130 func getAssetLabels (assetId) = match getString(keyAssetLabels(assetId)) {
138131 case s: String =>
139132 if ((size(s) == 0))
140133 then nil
141134 else split(s, SEP)
142135 case _ =>
143136 nil
144137 }
145138
146139
147140 func managerPublicKeyOrUnit () = match getString(keyManagerPublicKey()) {
148141 case s: String =>
149142 fromBase58String(s)
150143 case _: Unit =>
151144 unit
152145 case _ =>
153146 throw("Match error")
154147 }
155148
156149
157150 func pendingManagerPublicKeyOrUnit () = match getString(keyPendingManagerPublicKey()) {
158151 case s: String =>
159152 fromBase58String(s)
160153 case _: Unit =>
161154 unit
162155 case _ =>
163156 throw("Match error")
164157 }
165158
166159
167160 func mustManager (i) = match managerPublicKeyOrUnit() {
168161 case pk: ByteVector =>
169162 if ((i.callerPublicKey == pk))
170163 then true
171164 else throwPD()
172165 case _: Unit =>
173166 if ((i.caller == this))
174167 then true
175168 else throwPD()
176169 case _ =>
177170 throw("Match error")
178171 }
179172
180173
181174 func mustAdmin (i) = {
182175 let adminPKs = split(valueOrElse(getString(keyAdminPubKeys()), EMPTY), SEP)
183176 if (containsElement(adminPKs, toBase58String(i.callerPublicKey)))
184177 then true
185178 else {
186179 let isManager = mustManager(i)
187180 if ((isManager == isManager))
188181 then true
189182 else throw("Strict value is not equal to itself.")
190183 }
191184 }
192185
193186
194187 func isCreated (assetId) = valueOrElse(getBoolean(keyCreated(assetId)), false)
195188
196189
197190 func verifiedToStatus (verified) = if (verified)
198191 then statusVerified
199192 else statusUnverified
200193
201194
202195 func addLabelActions (assetId,label,throwOnError) = {
203196 let labels = getLabels()
204197 let assetLabels = getAssetLabels(assetId)
205198 let checkLabel = if (containsElement(labels, label))
206199 then true
207200 else throw("Label doesn't exist")
208201 if ((checkLabel == checkLabel))
209202 then {
210203 let newAssetLabels = if (containsElement(assetLabels, label))
211204 then if (throwOnError)
212205 then throw("Label has already been added")
213206 else assetLabels
214207 else (assetLabels :+ label)
215208 [StringEntry(keyAssetLabels(assetId), makeString(newAssetLabels, SEP))]
216209 }
217210 else throw("Strict value is not equal to itself.")
218211 }
219212
220213
221214 func deleteLabelActions (assetId,label,throwOnError) = {
222215 let assetLabels = getAssetLabels(assetId)
223216 let newAssetLabels = if (containsElement(assetLabels, label))
224217 then removeByIndex(assetLabels, value(indexOf(assetLabels, label)))
225218 else if (throwOnError)
226219 then throw("Label wasn't added")
227220 else assetLabels
228221 [StringEntry(keyAssetLabels(assetId), makeString(newAssetLabels, SEP))]
229222 }
230223
231224
232225 func setVerifiedActions (assetId,verified) = {
233226 let labelCommunityVerifiedActions = if (verified)
234227 then addLabelActions(assetId, labelCommunityVerified, false)
235228 else deleteLabelActions(assetId, labelCommunityVerified, false)
236229 ([IntegerEntry(keyStatus(assetId), verifiedToStatus(verified))] ++ labelCommunityVerifiedActions)
237230 }
238231
239232
240233 func updateTickerActions (assetId,ticker) = {
241234 let checkTicker = {
242235 let linkedAssetIdOrUnit = getString(keyTickerToAssetId(ticker))
243236 let tickerIsValid = if ((ticker != ""))
244237 then if ((linkedAssetIdOrUnit == unit))
245238 then true
246239 else (value(linkedAssetIdOrUnit) == assetId)
247240 else false
248241 if (tickerIsValid)
249242 then true
250243 else throw("Invalid ticker")
251244 }
252245 if ((checkTicker == checkTicker))
253246 then [StringEntry(keyAssetIdToTicker(assetId), ticker), StringEntry(keyTickerToAssetId(ticker), assetId)]
254247 else throw("Strict value is not equal to itself.")
255248 }
256249
257250
258251 @Callable(i)
259252 func constructor (userPoolsContract,labels) = {
260253 let checkCaller = mustManager(i)
261254 if ((checkCaller == checkCaller))
262255 then {
263256 let checksAddress = valueOrErrorMessage(addressFromString(userPoolsContract), "Invalid address")
264257 if ((checksAddress == checksAddress))
265258 then [StringEntry(keyUserPoolsContract(), userPoolsContract), StringEntry(keyLabels(), makeString((defaultLabels ++ labels), SEP))]
266259 else throw("Strict value is not equal to itself.")
267260 }
268261 else throw("Strict value is not equal to itself.")
269262 }
270263
271264
272265
273266 @Callable(i)
274267 func constructorV2 (votingEmissionContract) = {
275268 let checkCaller = mustManager(i)
276269 if ((checkCaller == checkCaller))
277270 then {
278271 let checkAddress = valueOrErrorMessage(addressFromString(votingEmissionContract), "invalid voting emission contract address")
279272 if ((checkAddress == checkAddress))
280273 then [StringEntry(keyVotingEmissionContract(), votingEmissionContract)]
281274 else throw("Strict value is not equal to itself.")
282275 }
283276 else throw("Strict value is not equal to itself.")
284277 }
285278
286279
287280
288281 @Callable(i)
289282 func addAssetsLink (amountAsset,priceAsset,lpAsset) = {
290283 let checkCaller = mustAdmin(i)
291284 if ((checkCaller == checkCaller))
292285 then [StringEntry(keyAmountAndPriceAssetsToLpAsset(amountAsset, priceAsset), lpAsset), StringEntry(keyLpAssetToAmountAndPriceAssets(lpAsset), makeString([amountAsset, priceAsset], SEP))]
293286 else throw("Strict value is not equal to itself.")
294287 }
295288
296289
297290
298291 @Callable(i)
299292 func increaseAssetPoolsNumber (assetId) = {
300293 let checkCaller = mustAdmin(i)
301294 if ((checkCaller == checkCaller))
302295 then {
303296 let assetPoolsNumberKey = keyAssetPoolsNumber(assetId)
304297 let assetPoolsNumber = valueOrElse(getInteger(assetPoolsNumberKey), 0)
305298 [IntegerEntry(assetPoolsNumberKey, (assetPoolsNumber + 1))]
306299 }
307300 else throw("Strict value is not equal to itself.")
308301 }
309302
310303
311304
312305 @Callable(i)
313306 func createLabel (label) = {
314307 let labels = getLabels()
315308 let checkCaller = mustManager(i)
316309 if ((checkCaller == checkCaller))
317310 then {
318311 let checkLabel = [if (!(contains(label, SEP)))
319312 then true
320313 else throw("Invalid label name"), if (!(containsElement(labels, label)))
321314 then true
322315 else throw("Label exists")]
323316 if ((checkLabel == checkLabel))
324317 then [StringEntry(keyLabels(), makeString((labels :+ label), SEP))]
325318 else throw("Strict value is not equal to itself.")
326319 }
327320 else throw("Strict value is not equal to itself.")
328321 }
329322
330323
331324
332325 @Callable(i)
333326 func dropLabel (label) = {
334327 let labels = getLabels()
335328 let checkCaller = mustManager(i)
336329 if ((checkCaller == checkCaller))
337330 then {
338331 let checkLabel = if (containsElement(labels, label))
339332 then true
340333 else throw("Label doesn't exist")
341334 if ((checkLabel == checkLabel))
342335 then [StringEntry(keyLabels(), makeString(removeByIndex(labels, value(indexOf(labels, label))), SEP))]
343336 else throw("Strict value is not equal to itself.")
344337 }
345338 else throw("Strict value is not equal to itself.")
346339 }
347340
348341
349342
350343 @Callable(i)
351344 func addLabel (assetId,label) = {
352345 let checkCaller = mustAdmin(i)
353346 if ((checkCaller == checkCaller))
354347 then addLabelActions(assetId, label, true)
355348 else throw("Strict value is not equal to itself.")
356349 }
357350
358351
359352
360353 @Callable(i)
361354 func deleteLabel (assetId,label) = {
362355 let checkCaller = mustAdmin(i)
363356 if ((checkCaller == checkCaller))
364357 then deleteLabelActions(assetId, label, true)
365358 else throw("Strict value is not equal to itself.")
366359 }
367360
368361
369362
370363 @Callable(i)
371364 func updateTicker (assetId,ticker) = {
372365 let checkCaller = mustAdmin(i)
373366 if ((checkCaller == checkCaller))
374367 then {
375368 let checkAsset = if (isCreated(assetId))
376369 then true
377370 else throwNoAsset()
378371 if ((checkAsset == checkAsset))
379372 then updateTickerActions(assetId, ticker)
380373 else throw("Strict value is not equal to itself.")
381374 }
382375 else throw("Strict value is not equal to itself.")
383376 }
384377
385378
386379
387380 @Callable(i)
388381 func deleteTicker (assetId) = {
389382 let checkCaller = mustAdmin(i)
390383 if ((checkCaller == checkCaller))
391384 then {
392385 let ticker = valueOrErrorMessage(getString(keyAssetIdToTicker(assetId)), "Invalid asset")
393386 [DeleteEntry(keyAssetIdToTicker(assetId)), DeleteEntry(keyTickerToAssetId(ticker))]
394387 }
395388 else throw("Strict value is not equal to itself.")
396389 }
397390
398391
399392
400393 @Callable(i)
401394 func createOrUpdate (assetId,logo,verified) = {
402395 let checkCaller = mustAdmin(i)
403396 if ((checkCaller == checkCaller))
404397 then {
405398 let isCreatedNow = !(isCreated(assetId))
406399 if ((isCreatedNow == isCreatedNow))
407400 then {
408401 let setLogoActions = if ((logo == ""))
409402 then nil
410403 else [StringEntry(keyLogo(assetId), logo)]
411404 $Tuple2((([BooleanEntry(keyCreated(assetId), true)] ++ setLogoActions) ++ setVerifiedActions(assetId, verified)), isCreatedNow)
412405 }
413406 else throw("Strict value is not equal to itself.")
414407 }
415408 else throw("Strict value is not equal to itself.")
416409 }
417410
418411
419412
420413 @Callable(i)
421414 func setLogo (assetId,logo) = {
422415 let checks = [mustAdmin(i), if (isCreated(assetId))
423416 then true
424417 else throwNoAsset()]
425418 if ((checks == checks))
426419 then [StringEntry(keyLogo(assetId), logo)]
427420 else throw("Strict value is not equal to itself.")
428421 }
429422
430423
431424
432425 @Callable(i)
433426 func setVerified (assetId,verified) = {
434427 let checks = [mustAdmin(i), if (isCreated(assetId))
435428 then true
436429 else throwNoAsset()]
437430 if ((checks == checks))
438431 then {
439432 let onVerificationLossInv = if (!(verified))
440433 then {
441434 let votingEmissionContract = valueOrErrorMessage(addressFromString(getStrOrFail(this, keyVotingEmissionContract())), "invalid voting emission contract address")
442435 invoke(votingEmissionContract, "onVerificationLoss", [assetId], nil)
443436 }
444437 else unit
445438 if ((onVerificationLossInv == onVerificationLossInv))
446439 then $Tuple2(setVerifiedActions(assetId, verified), unit)
447440 else throw("Strict value is not equal to itself.")
448441 }
449442 else throw("Strict value is not equal to itself.")
450443 }
451444
452445
453446
454447 @Callable(i)
455448 func onEliminate (assetId) = {
456449 let poolsNumber = valueOrElse(getInteger(keyAssetPoolsNumber(assetId)), 0)
457450 let actions = if ((poolsNumber > 0))
458451 then nil
459452 else [DeleteEntry(keyLogo(assetId))]
460453 $Tuple2(actions, unit)
461454 }
462455
463456
464457
465458 @Callable(i)
466459 func setAdmins (adminPubKeys) = {
467460 let checkCaller = mustManager(i)
468461 if ((checkCaller == checkCaller))
469462 then [StringEntry(keyAdminPubKeys(), makeString(adminPubKeys, SEP))]
470463 else throw("Strict value is not equal to itself.")
471464 }
472465
473466
474467
475468 @Callable(i)
476-func setPoolLabels (amountAssetId,priceAssetId,label) = {
477- let checkCaller = mustAdmin(i)
478- if ((checkCaller == checkCaller))
479- then {
480- let isValidLabel = if (containsElement(validPoolLabels, label))
481- then true
482- else throw("label is not valid")
483- if ((isValidLabel == isValidLabel))
484- then $Tuple2([StringEntry(keyPoolLabels(amountAssetId, priceAssetId), label)], unit)
485- else throw("Strict value is not equal to itself.")
486- }
487- else throw("Strict value is not equal to itself.")
488- }
489-
490-
491-
492-@Callable(i)
493469 func setManager (pendingManagerPublicKey) = {
494470 let checkCaller = mustManager(i)
495471 if ((checkCaller == checkCaller))
496472 then {
497473 let checkManagerPublicKey = fromBase58String(pendingManagerPublicKey)
498474 if ((checkManagerPublicKey == checkManagerPublicKey))
499475 then [StringEntry(keyPendingManagerPublicKey(), pendingManagerPublicKey)]
500476 else throw("Strict value is not equal to itself.")
501477 }
502478 else throw("Strict value is not equal to itself.")
503479 }
504480
505481
506482
507483 @Callable(i)
508484 func confirmManager () = {
509485 let pm = pendingManagerPublicKeyOrUnit()
510486 let hasPM = if (isDefined(pm))
511487 then true
512488 else throw("No pending manager")
513489 if ((hasPM == hasPM))
514490 then {
515491 let checkPM = if ((i.callerPublicKey == value(pm)))
516492 then true
517493 else throw("You are not pending manager")
518494 if ((checkPM == checkPM))
519495 then [StringEntry(keyManagerPublicKey(), toBase58String(value(pm))), DeleteEntry(keyPendingManagerPublicKey())]
520496 else throw("Strict value is not equal to itself.")
521497 }
522498 else throw("Strict value is not equal to itself.")
523499 }
524500
525501
526502
527503 @Callable(i)
528504 func isVerifiedREADONLY (assetId) = $Tuple2(nil, isVerified(assetId))
529505
530506
531507 @Verifier(tx)
532508 func verify () = {
533509 let targetPublicKey = match managerPublicKeyOrUnit() {
534510 case pk: ByteVector =>
535511 pk
536512 case _: Unit =>
537513 tx.senderPublicKey
538514 case _ =>
539515 throw("Match error")
540516 }
541517 sigVerify(tx.bodyBytes, tx.proofs[0], targetPublicKey)
542518 }
543519

github/deemru/w8io/873ac7e 
60.40 ms