tx · 3AKn7adiUhyer32L4ETErbBL1nodvwsVk8QGF4sKEg27

3N1Epwa6GQuTQr2K9WzeUcqSFCdERwuvL5T:  -0.02200000 Waves

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

{ "type": 13, "id": "3AKn7adiUhyer32L4ETErbBL1nodvwsVk8QGF4sKEg27", "fee": 2200000, "feeAssetId": null, "timestamp": 1654090398172, "version": 1, "sender": "3N1Epwa6GQuTQr2K9WzeUcqSFCdERwuvL5T", "senderPublicKey": "7iXEgsFNsnbLZ3ca4tmz8jffnyxMu9keuBV6CuQPJLuA", "proofs": [ "51y1FZMEUHRdXfQ3iV8jz5YR2EUVoFcBqGG7H91CcHUzVmo9KEtjhRLFnM2hg3e63Popz5SHRs2eLaR3RQkLpRJi" ], "script": "base64:AAIFAAAAAAAAADYIAhINCgsICAgICAgBCAEIARIECgIICBIFCgMICAQSBAoCCAgSAwoBARIECgIICBIDCgEIEgAAAAAgAAAAAAlzZXBhcmF0b3ICAAAAAl9fAAAAAAxrZXlGZWVBbW91bnQJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAANmZWUFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAAA5rZXlVc2RuQXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAAAiVzCQAETAAAAAICAAAAC3VzZG5Bc3NldElkBQAAAANuaWwFAAAACXNlcGFyYXRvcgAAAAAOa2V5RXBvY2hMZW5ndGgJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAAtlcG9jaExlbmd0aAUAAAADbmlsBQAAAAlzZXBhcmF0b3IAAAAAEWtleUZpbmFsaXplUmV3YXJkCQAEuQAAAAIJAARMAAAAAgIAAAACJXMJAARMAAAAAgIAAAAOZmluYWxpemVSZXdhcmQFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAAAxrZXlXeEFzc2V0SWQJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAAl3eEFzc2V0SWQFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAABZrZXlBc3NldHNTdG9yZUNvbnRyYWN0CQAEuQAAAAIJAARMAAAAAgIAAAACJXMJAARMAAAAAgIAAAATYXNzZXRzU3RvcmVDb250cmFjdAUAAAADbmlsBQAAAAlzZXBhcmF0b3IAAAAAE2tleVVzZXJQb29sQ29udHJhY3QJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAABB1c2VyUG9vbENvbnRyYWN0BQAAAANuaWwFAAAACXNlcGFyYXRvcgAAAAATa2V5RW1pc3Npb25Db250cmFjdAkABLkAAAACCQAETAAAAAICAAAAAiVzCQAETAAAAAICAAAAEGVtaXNzaW9uQ29udHJhY3QFAAAAA25pbAUAAAAJc2VwYXJhdG9yAAAAABNrZXlCb29zdGluZ0NvbnRyYWN0CQAEuQAAAAIJAARMAAAAAgIAAAACJXMJAARMAAAAAgIAAAAQYm9vc3RpbmdDb250cmFjdAUAAAADbmlsBQAAAAlzZXBhcmF0b3IAAAAAEmtleUZhY3RvcnlDb250cmFjdAkABLkAAAACCQAETAAAAAICAAAAAiVzCQAETAAAAAICAAAAD2ZhY3RvcnlDb250cmFjdAUAAAADbmlsBQAAAAlzZXBhcmF0b3IAAAAAGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAABZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0BQAAAANuaWwFAAAACXNlcGFyYXRvcgEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgUAAAADa2V5AgAAAA8gaXMgbm90IGRlZmluZWQBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACAAAADWFtb3VudEFzc2V0SWQAAAAMcHJpY2VBc3NldElkCQAEuQAAAAIJAARMAAAAAgIAAAAGJXMlcyVzCQAETAAAAAICAAAABmluTGlzdAkABEwAAAACBQAAAA1hbW91bnRBc3NldElkCQAETAAAAAIFAAAADHByaWNlQXNzZXRJZAUAAAADbmlsBQAAAAlzZXBhcmF0b3IBAAAAD2tleVN1Z2dlc3RJbmRleAAAAAIAAAANYW1vdW50QXNzZXRJZAAAAAxwcmljZUFzc2V0SWQJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgIAAAAMc3VnZ2VzdEluZGV4CQAETAAAAAIFAAAADWFtb3VudEFzc2V0SWQJAARMAAAAAgUAAAAMcHJpY2VBc3NldElkBQAAAANuaWwFAAAACXNlcGFyYXRvcgEAAAAOa2V5U3RhcnRIZWlnaHQAAAADAAAADWFtb3VudEFzc2V0SWQAAAAMcHJpY2VBc3NldElkAAAADHN1Z2dlc3RJbmRleAkABLkAAAACCQAETAAAAAICAAAACCVzJXMlcyVkCQAETAAAAAICAAAAC3N0YXJ0SGVpZ2h0CQAETAAAAAIFAAAADWFtb3VudEFzc2V0SWQJAARMAAAAAgUAAAAMcHJpY2VBc3NldElkCQAETAAAAAIJAAGkAAAAAQUAAAAMc3VnZ2VzdEluZGV4BQAAAANuaWwFAAAACXNlcGFyYXRvcgEAAAAPa2V5Vm90aW5nUmVzdWx0AAAAAwAAAA1hbW91bnRBc3NldElkAAAADHByaWNlQXNzZXRJZAAAAAxzdWdnZXN0SW5kZXgJAAS5AAAAAgkABEwAAAACAgAAAAglcyVzJXMlZAkABEwAAAACAgAAAAx2b3RpbmdSZXN1bHQJAARMAAAAAgUAAAANYW1vdW50QXNzZXRJZAkABEwAAAACBQAAAAxwcmljZUFzc2V0SWQJAARMAAAAAgkAAaQAAAABBQAAAAxzdWdnZXN0SW5kZXgFAAAAA25pbAUAAAAJc2VwYXJhdG9yAQAAAAp0b3RhbFZvdGVzAAAAAgAAAAh0b3RhbFllcwAAAAd0b3RhbE5vCQAEuQAAAAIJAARMAAAAAgIAAAAEJWQlZAkABEwAAAACBQAAAAh0b3RhbFllcwkABEwAAAACBQAAAAd0b3RhbE5vBQAAAANuaWwFAAAACXNlcGFyYXRvcgEAAAAHa2V5Vm90ZQAAAAQAAAANYW1vdW50QXNzZXRJZAAAAAxwcmljZUFzc2V0SWQAAAAMc3VnZ2VzdEluZGV4AAAADHZvdGVyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAACiVzJXMlcyVkJXMJAARMAAAAAgIAAAAEdm90ZQkABEwAAAACBQAAAA1hbW91bnRBc3NldElkCQAETAAAAAIFAAAADHByaWNlQXNzZXRJZAkABEwAAAACCQABpAAAAAEFAAAADHN1Z2dlc3RJbmRleAkABEwAAAACBQAAAAx2b3RlckFkZHJlc3MFAAAAA25pbAUAAAAJc2VwYXJhdG9yAQAAAAxrZXlWb3RlVmFsdWUAAAACAAAACWd3eEFtb3VudAAAAAR2b3RlBAAAAANrZXkDBQAAAAR2b3RlCQAEuQAAAAIJAARMAAAAAgIAAAAEJWQlcwkABEwAAAACBQAAAAlnd3hBbW91bnQJAARMAAAAAgIAAAADeWVzBQAAAANuaWwFAAAACXNlcGFyYXRvcgkABLkAAAACCQAETAAAAAICAAAABCVkJXMJAARMAAAAAgUAAAAJZ3d4QW1vdW50CQAETAAAAAICAAAAAm5vBQAAAANuaWwFAAAACXNlcGFyYXRvcgUAAAADa2V5AQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAUJXNfX21hbmFnZXJQdWJsaWNLZXkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAIAAAAbJXNfX3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAABNhc3NldHNTdG9yZUNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQUAAAAWa2V5QXNzZXRzU3RvcmVDb250cmFjdAAAAAAQYm9vc3RpbmdDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEFAAAAE2tleUJvb3N0aW5nQ29udHJhY3QAAAAAEGVtaXNzaW9uQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABBQAAABNrZXlFbWlzc2lvbkNvbnRyYWN0AAAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABBQAAABJrZXlGYWN0b3J5Q29udHJhY3QAAAAAEHVzZXJQb29sQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABBQAAABNrZXlVc2VyUG9vbENvbnRyYWN0AAAAABZ2b3RpbmdFbWlzc2lvbkNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQUAAAAZa2V5Vm90aW5nRW1pc3Npb25Db250cmFjdAEAAAAWbWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAAByRtYXRjaDAJAAQiAAAAAQkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXMFAAAAByRtYXRjaDAJAAJZAAAAAQUAAAABcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAUAAAAEdW5pdAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAAdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAABAAAAAckbWF0Y2gwCQAEIgAAAAEJAQAAABprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BQAAAAR1bml0CQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAAttdXN0TWFuYWdlcgAAAAEAAAABaQQAAAACcGQJAAACAAAAAQIAAAARcGVybWlzc2lvbiBkZW5pZWQEAAAAByRtYXRjaDAJAQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACcGsFAAAAByRtYXRjaDADCQAAAAAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAACcGsGBQAAAAJwZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBgUAAAACcGQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAABWFzSW50AAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAZ2YWxJbnQFAAAAByRtYXRjaDAFAAAABnZhbEludAkAAAIAAAABAgAAABtmYWlsZWQgdG8gY2FzdCBpbnRvIEludGVnZXIAAAAIAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAACwAAABZhc3NldHNTdG9yZUNvbnRyYWN0UHJtAAAAE2Jvb3N0aW5nQ29udHJhY3RQcm0AAAATZW1pc3Npb25Db250cmFjdFBybQAAABJmYWN0b3J5Q29udHJhY3RQcm0AAAATdXNlclBvb2xDb250cmFjdFBybQAAABl2b3RpbmdFbWlzc2lvbkNvbnRyYWN0UHJtAAAADGZlZUFtb3VudFBybQAAAAx3eEFzc2V0SWRQcm0AAAARdm90aW5nRHVyYXRpb25Qcm0AAAAOdXNkbkFzc2V0SWRQcm0AAAARZmluYWxpemVSZXdhcmRQcm0EAAAABmNoZWNrcwkABEwAAAACCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpCQAETAAAAAIDCQEAAAAJaXNEZWZpbmVkAAAAAQkABCYAAAABBQAAABZhc3NldHNTdG9yZUNvbnRyYWN0UHJtBgkAAAIAAAABAgAAACRJbnZhbGlkIGFzc2V0X3N0b3JlIGNvbnRyYWN0IGFkZHJlc3MJAARMAAAAAgMJAQAAAAlpc0RlZmluZWQAAAABCQAEJgAAAAEFAAAAE2Jvb3N0aW5nQ29udHJhY3RQcm0GCQAAAgAAAAECAAAAIUludmFsaWQgYm9vc3RpbmcgY29udHJhY3QgYWRkcmVzcwkABEwAAAACAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQmAAAAAQUAAAATdXNlclBvb2xDb250cmFjdFBybQYJAAACAAAAAQIAAAAjSW52YWxpZCB1c2VyX3Bvb2xzIGNvbnRyYWN0IGFkZHJlc3MJAARMAAAAAgMJAQAAAAlpc0RlZmluZWQAAAABCQAEJgAAAAEFAAAAE2VtaXNzaW9uQ29udHJhY3RQcm0GCQAAAgAAAAECAAAAIUludmFsaWQgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcwkABEwAAAACAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQmAAAAAQUAAAASZmFjdG9yeUNvbnRyYWN0UHJtBgkAAAIAAAABAgAAACBJbnZhbGlkIGZhY3RvcnkgY29udHJhY3QgYWRkcmVzcwkABEwAAAACAwkAAGcAAAACBQAAAAxmZWVBbW91bnRQcm0AAAAAAAAAAAAGCQAAAgAAAAECAAAAEkludmFsaWQgZmVlIGFtb3VudAkABEwAAAACAwkAAGYAAAACBQAAABF2b3RpbmdEdXJhdGlvblBybQAAAAAAAAAAAAYJAAACAAAAAQIAAAAXSW52YWxpZCB2b3RpbmcgZHVyYXRpb24JAARMAAAAAgMJAABmAAAAAgUAAAARZmluYWxpemVSZXdhcmRQcm0AAAAAAAAAAAAGCQAAAgAAAAECAAAAF0ludmFsaWQgZmluYWxpemUgcmV3YXJkCQAETAAAAAIDCQEAAAAJaXNEZWZpbmVkAAAAAQkAA+wAAAABCQACWQAAAAEFAAAADHd4QXNzZXRJZFBybQYJAAACAAAAAQIAAAATSW52YWxpZCBXWCBhc3NldCBJRAkABEwAAAACAwkBAAAACWlzRGVmaW5lZAAAAAEJAAPsAAAAAQkAAlkAAAABBQAAAA51c2RuQXNzZXRJZFBybQYJAAACAAAAAQIAAAAVSW52YWxpZCBVU0ROIGFzc2V0IElEBQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAWa2V5QXNzZXRzU3RvcmVDb250cmFjdAUAAAAWYXNzZXRzU3RvcmVDb250cmFjdFBybQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABNrZXlCb29zdGluZ0NvbnRyYWN0BQAAABNib29zdGluZ0NvbnRyYWN0UHJtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAE2tleUVtaXNzaW9uQ29udHJhY3QFAAAAE2VtaXNzaW9uQ29udHJhY3RQcm0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAASa2V5RmFjdG9yeUNvbnRyYWN0BQAAABJmYWN0b3J5Q29udHJhY3RQcm0JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAATa2V5VXNlclBvb2xDb250cmFjdAUAAAATdXNlclBvb2xDb250cmFjdFBybQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0BQAAABl2b3RpbmdFbWlzc2lvbkNvbnRyYWN0UHJtCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAxrZXlGZWVBbW91bnQFAAAADGZlZUFtb3VudFBybQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5RXBvY2hMZW5ndGgFAAAAEXZvdGluZ0R1cmF0aW9uUHJtCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlGaW5hbGl6ZVJld2FyZAUA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bnN1cmVBbW91bnRBc3NldFZlcmlmaWVkBAAAAApidXJuRmVlSW52CQAD/AAAAAQFAAAAEGVtaXNzaW9uQ29udHJhY3QCAAAABGJ1cm4FAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAgFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAACmJ1cm5GZWVJbnYFAAAACmJ1cm5GZWVJbnYEAAAAD25ld1N1Z2dlc3RJbmRleAQAAAAHJG1hdGNoMAkABB8AAAABCQEAAAAPa2V5U3VnZ2VzdEluZGV4AAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA2ludAUAAAAHJG1hdGNoMAkAAGQAAAACBQAAAANpbnQAAAAAAAAAAAEAAAAAAAAAAAAJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAAD25ld1N1Z2dlc3RJbmRleAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmtleVN0YXJ0SGVpZ2h0AAAAAwUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAA9uZXdTdWdnZXN0SW5kZXgFAAAABmhlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5Vm90aW5nUmVzdWx0AAAAAwUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAA9uZXdTdWdnZXN0SW5kZXgJAQAAAAp0b3RhbFZvdGVzAAAAAgIAAAABMAIAAAABMAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVN1Z2dlc3RJbmRleAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAPbmV3U3VnZ2VzdEluZGV4BQAAAANuaWwFAAAABHVuaXQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAABHZvdGUAAAADAAAADWFtb3VudEFzc2V0SWQAAAAMcHJpY2VBc3NldElkAAAAB2luRmF2b3IEAAAADHN1Z2dlc3RJbmRleAkBAAAABXZhbHVlAAAAAQkABB8AAAABCQEAAAAQa2V5SW5MaXN0QXNzZXRJZAAAAAIFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAQAAAASdm90aW5nRmluaXNoSGVpZ2h0CQAAZAAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQfAAAAAQkBAAAADmtleVN0YXJ0SGVpZ2h0AAAAAwUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAAxzdWdnZXN0SW5kZXgJAQAAAAV2YWx1ZQAAAAEJAAQfAAAAAQUAAAAOa2V5RXBvY2hMZW5ndGgEAAAABmNoZWNrcwkABEwAAAACAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQfAAAAAQkBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQGCQAAAgAAAAECAAAAInRoZSB0b2tlbiBpc24ndCBvbiB0aGUgdm90aW5nIGxpc3QJAARMAAAAAgMJAABmAAAAAgUAAAASdm90aW5nRmluaXNoSGVpZ2h0BQAAAAZoZWlnaHQGCQAAAgAAAAECAAAAEHRvbyBsYXRlIHRvIHZvdGUFAAAAA25pbAMJAAAAAAAAAgUAAAAGY2hlY2tzBQAAAAZjaGVja3MEAAAACWd3eEFtb3VudAkAA/wAAAAEBQAAABBib29zdGluZ0NvbnRyYWN0AgAAACBnZXRVc2VyR3d4QW1vdW50QXRIZWlnaHRSRUFET05MWQkABEwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkABEwAAAACBQAAABJ2b3RpbmdGaW5pc2hIZWlnaHQFAAAAA25pbAUAAAADbmlsBAAAAAdub3RaZXJvAwkAAGYAAAACCQEAAAAFYXNJbnQAAAABBQAAAAlnd3hBbW91bnQAAAAAAAAAAAAGCQAAAgAAAAECAAAAEnlvdSBkb24ndCBoYXZlIGd3eAMJAAAAAAAAAgUAAAAHbm90WmVybwUAAAAHbm90WmVybwQAAAAEdm90ZQQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAAHa2V5Vm90ZQAAAAQFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwBAAAAAR2b3RlCQAEtQAAAAIFAAAAAXMFAAAACXNlcGFyYXRvcgQAAAAJdm90ZVZhbHVlCQABkQAAAAIFAAAABHZvdGUAAAAAAAAAAAEEAAAACHZvdGVUeXBlCQABkQAAAAIFAAAABHZvdGUAAAAAAAAAAAIEAAAAEWlzVm90ZVR5cGVTaW1pbGFyAwMJAAAAAAAAAgUAAAAIdm90ZVR5cGUCAAAAA3llcwkAAAAAAAACBQAAAAdpbkZhdm9yBgcGAwkAAAAAAAACBQAAAAh2b3RlVHlwZQIAAAACbm8JAAAAAAAAAgUAAAAHaW5GYXZvcgcHBAAAABJpc1ZvdGVWYWx1ZVNpbWlsYXIDBQAAABFpc1ZvdGVUeXBlU2ltaWxhcgkAAAAAAAACCQEAAAAFYXNJbnQAAAABBQAAAAlnd3hBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAJdm90ZVZhbHVlBwQAAAAQaXNOZXdWb3RlU2ltaWxhcgMDBQAAABFpc1ZvdGVUeXBlU2ltaWxhcgUAAAASaXNWb3RlVmFsdWVTaW1pbGFyBwkAAAIAAAABAgAAABF5b3UgYWxyZWFkeSB2b3RlZAkAA/wAAAAEBQAAAAR0aGlzAgAAAApjYW5jZWxWb3RlCQAETAAAAAIFAAAADWFtb3VudEFzc2V0SWQJAARMAAAAAgUAAAAMcHJpY2VBc3NldElkBQAAAANuaWwFAAAAA25pbAUAAAAQaXNOZXdWb3RlU2ltaWxhcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAABdQUAAAAHJG1hdGNoMAUAAAABdQkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgMJAAAAAAAAAgUAAAAEdm90ZQUAAAAEdm90ZQQAAAAMdm90aW5nUmVzdWx0CQAEtQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQiAAAAAQkBAAAAD2tleVZvdGluZ1Jlc3VsdAAAAAMFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4BQAAAAlzZXBhcmF0b3IEAAAADXBvc2l0aXZlVm90ZXMJAAGRAAAAAgUAAAAMdm90aW5nUmVzdWx0AAAAAAAAAAABBAAAAA1uZWdhdGl2ZVZvdGVzCQABkQAAAAIFAAAADHZvdGluZ1Jlc3VsdAAAAAAAAAAAAgQAAAAbbmV3UG9zaXRpdmVBbmROZWdhdGl2ZVZvdGVzAwUAAAAHaW5GYXZvcgQAAAAQbmV3UG9zaXRpdmVWb3RlcwkAAGQAAAACCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAADXBvc2l0aXZlVm90ZXMJAQAAAAVhc0ludAAAAAEFAAAACWd3eEFtb3VudAkABEwAAAACCQABpAAAAAEFAAAAEG5ld1Bvc2l0aXZlVm90ZXMJAARMAAAAAgUAAAANbmVnYXRpdmVWb3RlcwUAAAADbmlsBAAAABBuZXdOZWdhdGl2ZVZvdGVzCQAAZAAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAANbmVnYXRpdmVWb3RlcwkBAAAABWFzSW50AAAAAQUAAAAJZ3d4QW1vdW50CQAETAAAAAIFAAAADXBvc2l0aXZlVm90ZXMJAARMAAAAAgkAAaQAAAABBQAAABBuZXdOZWdhdGl2ZVZvdGVzBQAAAANuaWwEAAAAB3ZvdGVLZXkJAQAAAAdrZXlWb3RlAAAABAUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAAxzdWdnZXN0SW5kZXgJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAl2b3RlVmFsdWUJAQAAAAxrZXlWb3RlVmFsdWUAAAACCQABpAAAAAEJAQAAAAVhc0ludAAAAAEFAAAACWd3eEFtb3VudAUAAAAHaW5GYXZvcgkABRQAAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAA9rZXlWb3RpbmdSZXN1bHQAAAADBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAADHN1Z2dlc3RJbmRleAkBAAAACnRvdGFsVm90ZXMAAAACCQABkQAAAAIFAAAAG25ld1Bvc2l0aXZlQW5kTmVnYXRpdmVWb3RlcwAAAAAAAAAAAAkAAZEAAAACBQAAABtuZXdQb3NpdGl2ZUFuZE5lZ2F0aXZlVm90ZXMAAAAAAAAAAAEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAHdm90ZUtleQUAAAAJdm90ZVZhbHVlBQAAAANuaWwFAAAABHVuaXQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKY2FuY2VsVm90ZQAAAAIAAAANYW1vdW50QXNzZXRJZAAAAAxwcmljZUFzc2V0SWQEAAAAC3VzZXJBZGRyZXNzAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMc3VnZ2VzdEluZGV4CQEAAAAFdmFsdWUAAAABCQAEHwAAAAEJAQAAABBrZXlJbkxpc3RBc3NldElkAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBAAAAAZjaGVja3MJAARMAAAAAgMJAQAAAAlpc0RlZmluZWQAAAABCQAEIgAAAAEJAQAAAA9rZXlWb3RpbmdSZXN1bHQAAAADBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAADHN1Z2dlc3RJbmRleAYJAAACAAAAAQIAAAAXbm8gdm90ZSBmb3IgYXNzZXRzIHBhaXIFAAAAA25pbAMJAAAAAAAAAgUAAAAGY2hlY2tzBQAAAAZjaGVja3MEAAAABHZvdGUJAAS1AAAAAgkBAAAABXZhbHVlAAAAAQkABCIAAAABCQEAAAAHa2V5Vm90ZQAAAAQFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4BQAAAAt1c2VyQWRkcmVzcwUAAAAJc2VwYXJhdG9yBAAAAAl2b3RlVmFsdWUJAAGRAAAAAgUAAAAEdm90ZQAAAAAAAAAAAQQAAAAIdm90ZVR5cGUJAAGRAAAAAgUAAAAEdm90ZQAAAAAAAAAAAgQAAAAMdm90aW5nUmVzdWx0CQAEtQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQiAAAAAQkBAAAAD2tleVZvdGluZ1Jlc3VsdAAAAAMFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4BQAAAAlzZXBhcmF0b3IEAAAADXBvc2l0aXZlVm90ZXMJAAGRAAAAAgUAAAAMdm90aW5nUmVzdWx0AAAAAAAAAAABBAAAAA1uZWdhdGl2ZVZvdGVzCQABkQAAAAIFAAAADHZvdGluZ1Jlc3VsdAAAAAAAAAAAAgQAAAAHYWN0aW9ucwMJAAAAAAAAAgUAAAAIdm90ZVR5cGUCAAAAA3llcwQAAAAQbmV3UG9zaXRpdmVWb3RlcwkAAGUAAAACCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAADXBvc2l0aXZlVm90ZXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAJdm90ZVZhbHVlCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2tleVZvdGluZ1Jlc3VsdAAAAAMFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4CQEAAAAKdG90YWxWb3RlcwAAAAIJAAGkAAAAAQUAAAAQbmV3UG9zaXRpdmVWb3RlcwUAAAANbmVnYXRpdmVWb3RlcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAHa2V5Vm90ZQAAAAQFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4BQAAAAt1c2VyQWRkcmVzcwUAAAADbmlsBQAAAAR1bml0BAAAABBuZXdOZWdhdGl2ZVZvdGVzCQAAZQAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAANbmVnYXRpdmVWb3RlcwkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAAl2b3RlVmFsdWUJAAUUAAAAAgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5Vm90aW5nUmVzdWx0AAAAAwUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAAxzdWdnZXN0SW5kZXgJAQAAAAp0b3RhbFZvdGVzAAAAAgUAAAANcG9zaXRpdmVWb3RlcwkAAaQAAAABBQAAABBuZXdOZWdhdGl2ZVZvdGVzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAdrZXlWb3RlAAAABAUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAAAxzdWdnZXN0SW5kZXgFAAAAC3VzZXJBZGRyZXNzBQAAAANuaWwFAAAABHVuaXQFAAAAB2FjdGlvbnMJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAABnNldEZlZQAAAAEAAAAGbmV3RmVlBAAAAAZjaGVja3MJAARMAAAAAgkBAAAAC211c3RNYW5hZ2VyAAAAAQUAAAABaQUAAAADbmlsAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAMa2V5RmVlQW1vdW50BQAAAAZuZXdGZWUFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAIZmluYWxpemUAAAACAAAADWFtb3VudEFzc2V0SWQAAAAMcHJpY2VBc3NldElkBAAAAAxzdWdnZXN0SW5kZXgJAQAAAAV2YWx1ZQAAAAEJAAQfAAAAAQkBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQEAAAAEnZvdGluZ0ZpbmlzaEhlaWdodAkAAGQAAAACCQEAAAAFdmFsdWUAAAABCQAEHwAAAAEJAQAAAA5rZXlTdGFydEhlaWdodAAAAAMFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4CQEAAAAFdmFsdWUAAAABCQAEHwAAAAEFAAAADmtleUVwb2NoTGVuZ3RoBAAAAAZjaGVja3MJAARMAAAAAgMJAQAAAAlpc0RlZmluZWQAAAABCQAEHwAAAAEJAQAAABBrZXlJbkxpc3RBc3NldElkAAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBgkAAAIAAAABAgAAAA5ubyBhc3NldHMgcGFpcgkABEwAAAACAwkAAGcAAAACBQAAAAZoZWlnaHQFAAAAEnZvdGluZ0ZpbmlzaEhlaWdodAYJAAACAAAAAQIAAAAiaW5zdWZmaWNpZW50IGhlaWdodCBmb3IgY29tcGxldGlvbgUAAAADbmlsAwkAAAAAAAACBQAAAAZjaGVja3MFAAAABmNoZWNrcwQAAAAMdm90aW5nUmVzdWx0CQAEtQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQiAAAAAQkBAAAAD2tleVZvdGluZ1Jlc3VsdAAAAAMFAAAADWFtb3VudEFzc2V0SWQFAAAADHByaWNlQXNzZXRJZAUAAAAMc3VnZ2VzdEluZGV4BQAAAAlzZXBhcmF0b3IEAAAADXBvc2l0aXZlVm90ZXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx2b3RpbmdSZXN1bHQAAAAAAAAAAAEEAAAADW5lZ2F0aXZlVm90ZXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAx2b3RpbmdSZXN1bHQAAAAAAAAAAAIEAAAAB2FjdGlvbnMDCQAAZgAAAAIFAAAADXBvc2l0aXZlVm90ZXMFAAAADW5lZ2F0aXZlVm90ZXMEAAAAA3JlcwkAA/wAAAAEBQAAAA9mYWN0b3J5Q29udHJhY3QCAAAAFnNldFd4RW1pc3Npb25Qb29sTGFiZWwJAARMAAAAAgUAAAANYW1vdW50QXNzZXRJZAkABEwAAAACBQAAAAxwcmljZUFzc2V0SWQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAANyZXMFAAAAA3JlcwQAAAARdm90aW5nRW1pc3Npb25JbnYJAAP8AAAABAUAAAAWdm90aW5nRW1pc3Npb25Db250cmFjdAIAAAAGY3JlYXRlCQAETAAAAAIFAAAADWFtb3VudEFzc2V0SWQJAARMAAAAAgUAAAAMcHJpY2VBc3NldElkBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAARdm90aW5nRW1pc3Npb25JbnYFAAAAEXZvdGluZ0VtaXNzaW9uSW52CQAFFAAAAAIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAAA25pbAUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAFFAAAAAIJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAEGtleUluTGlzdEFzc2V0SWQAAAACBQAAAA1hbW91bnRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQFAAAAA25pbAUAAAAEdW5pdAUAAAAHYWN0aW9ucwkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKc2V0TWFuYWdlcgAAAAEAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkEAAAAC2NoZWNrQ2FsbGVyCQEAAAALbXVzdE1hbmFnZXIAAAABBQAAAAFpAwkAAAAAAAACBQAAAAtjaGVja0NhbGxlcgUAAAALY2hlY2tDYWxsZXIEAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAAlkAAAABBQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAAAAAAAAgUAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5BQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAAXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADmNvbmZpcm1NYW5hZ2VyAAAAAAQAAAACcG0JAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAABWhhc1BNAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAnBtBgkAAAIAAAABAgAAABJubyBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAABWhhc1BNBQAAAAVoYXNQTQQAAAAHY2hlY2tQTQMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQEAAAAFdmFsdWUAAAABBQAAAAJwbQYJAAACAAAAAQIAAAAbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAAAAAACBQAAAAdjaGVja1BNBQAAAAdjaGVja1BNCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAJwbQkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAD3RhcmdldFB1YmxpY0tleQQAAAAHJG1hdGNoMAkBAAAAFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAJwawUAAAAHJG1hdGNoMAUAAAACcGsDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAA90YXJnZXRQdWJsaWNLZXlWUMD5", "chainId": 84, "height": 2077352, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2qbdYvaYJucNDNUAeag6C62ML4nXautXnD2CqEwUpNN8 Next: AWDnkZCp8uKMFFqTrCi2aaBWcdHFrCrbozUJjkekZen8 Diff:
OldNewDifferences
2121
2222 let j = makeString(["%s", "boostingContract"], a)
2323
24-func k (l) = valueOrErrorMessage(getString(this, l), (l + " is not defined"))
24+let k = makeString(["%s", "factoryContract"], a)
25+
26+let l = makeString(["%s", "votingEmissionContract"], a)
27+
28+func m (n) = valueOrErrorMessage(getString(this, n), (n + " is not defined"))
2529
2630
27-func m (n,o) = makeString(["%s%s%s", "inList", n, o], a)
31+func o (p,q) = makeString(["%s%s%s", "inList", p, q], a)
2832
2933
30-func p (n,o) = makeString(["%s%s%s", "suggestIndex", n, o], a)
34+func r (p,q) = makeString(["%s%s%s", "suggestIndex", p, q], a)
3135
3236
33-func q (n,o,r) = makeString(["%s%s%s%d", "startHeight", n, o, toString(r)], a)
37+func s (p,q,t) = makeString(["%s%s%s%d", "startHeight", p, q, toString(t)], a)
3438
3539
36-func s (n,o,r) = makeString(["%s%s%s%d", "votingResult", n, o, toString(r)], a)
40+func u (p,q,t) = makeString(["%s%s%s%d", "votingResult", p, q, toString(t)], a)
3741
3842
39-func t (u,v) = makeString(["%d%d", u, v], a)
43+func v (w,x) = makeString(["%d%d", w, x], a)
4044
4145
42-func w (n,o,r,x) = makeString(["%s%s%s%d%s", "vote", n, o, toString(r), x], a)
46+func y (p,q,t,z) = makeString(["%s%s%s%d%s", "vote", p, q, toString(t), z], a)
4347
4448
45-func y (z,A) = {
46- let l = if (A)
47- then makeString(["%d%s", z, "yes"], a)
48- else makeString(["%d%s", z, "no"], a)
49- l
49+func A (B,C) = {
50+ let n = if (C)
51+ then makeString(["%d%s", B, "yes"], a)
52+ else makeString(["%d%s", B, "no"], a)
53+ n
5054 }
5155
5256
53-func B () = "%s__managerPublicKey"
57+func D () = "%s__managerPublicKey"
5458
5559
56-func C () = "%s__pendingManagerPublicKey"
60+func E () = "%s__pendingManagerPublicKey"
5761
5862
59-let D = addressFromStringValue(k(i))
63+let F = addressFromStringValue(m(g))
6064
61-let E = addressFromStringValue(k(h))
65+let G = addressFromStringValue(m(j))
6266
63-let F = addressFromStringValue(k(j))
67+let H = addressFromStringValue(m(i))
6468
65-let G = addressFromStringValue(k(g))
69+let I = addressFromStringValue(m(k))
6670
67-func H () = {
68- let I = getString(B())
69- if ($isInstanceOf(I, "String"))
71+let J = addressFromStringValue(m(h))
72+
73+let K = addressFromStringValue(m(l))
74+
75+func L () = {
76+ let M = getString(D())
77+ if ($isInstanceOf(M, "String"))
7078 then {
71- let J = I
72- fromBase58String(J)
79+ let N = M
80+ fromBase58String(N)
7381 }
74- else if ($isInstanceOf(I, "Unit"))
82+ else if ($isInstanceOf(M, "Unit"))
7583 then unit
7684 else throw("Match error")
7785 }
7886
7987
80-func K () = {
81- let I = getString(C())
82- if ($isInstanceOf(I, "String"))
88+func O () = {
89+ let M = getString(E())
90+ if ($isInstanceOf(M, "String"))
8391 then {
84- let J = I
85- fromBase58String(J)
92+ let N = M
93+ fromBase58String(N)
8694 }
87- else if ($isInstanceOf(I, "Unit"))
95+ else if ($isInstanceOf(M, "Unit"))
8896 then unit
8997 else throw("Match error")
9098 }
9199
92100
93-func L (M) = {
94- let N = throw("permission denied")
95- let I = H()
96- if ($isInstanceOf(I, "ByteVector"))
101+func P (Q) = {
102+ let R = throw("permission denied")
103+ let M = L()
104+ if ($isInstanceOf(M, "ByteVector"))
97105 then {
98- let O = I
99- if ((M.callerPublicKey == O))
106+ let S = M
107+ if ((Q.callerPublicKey == S))
100108 then true
101- else N
109+ else R
102110 }
103- else if ($isInstanceOf(I, "Unit"))
104- then if ((M.caller == this))
111+ else if ($isInstanceOf(M, "Unit"))
112+ then if ((Q.caller == this))
105113 then true
106- else N
114+ else R
107115 else throw("Match error")
108116 }
109117
110118
111-func P (Q) = {
112- let I = Q
113- if ($isInstanceOf(I, "Int"))
119+func T (U) = {
120+ let M = U
121+ if ($isInstanceOf(M, "Int"))
114122 then {
115- let R = I
116- R
123+ let V = M
124+ V
117125 }
118126 else throw("failed to cast into Integer")
119127 }
120128
121129
122-@Callable(M)
123-func constructor (S,T,U,V,W,X,Y,Z,aa) = {
124- let ab = [L(M), if (isDefined(addressFromString(S)))
130+@Callable(Q)
131+func constructor (W,X,Y,Z,aa,ab,ac,ad,ae,af,ag) = {
132+ let ah = [P(Q), if (isDefined(addressFromString(W)))
125133 then true
126- else throw("Invalid asset_store contract address"), if (isDefined(addressFromString(U)))
134+ else throw("Invalid asset_store contract address"), if (isDefined(addressFromString(X)))
127135 then true
128- else throw("Invalid boosting contract address"), if (isDefined(addressFromString(T)))
136+ else throw("Invalid boosting contract address"), if (isDefined(addressFromString(aa)))
129137 then true
130- else throw("Invalid user_pools contract address"), if (isDefined(addressFromString(V)))
138+ else throw("Invalid user_pools contract address"), if (isDefined(addressFromString(Y)))
131139 then true
132- else throw("Invalid emission contract address"), if ((W >= 0))
140+ else throw("Invalid emission contract address"), if (isDefined(addressFromString(Z)))
133141 then true
134- else throw("Invalid fee amount"), if ((Y > 0))
142+ else throw("Invalid factory contract address"), if ((ac >= 0))
135143 then true
136- else throw("Invalid voting duration"), if ((aa > 0))
144+ else throw("Invalid fee amount"), if ((ae > 0))
137145 then true
138- else throw("Invalid finalize reward"), if (isDefined(assetInfo(fromBase58String(X))))
146+ else throw("Invalid voting duration"), if ((ag > 0))
139147 then true
140- else throw("Invalid WX asset ID"), if (isDefined(assetInfo(fromBase58String(Z))))
148+ else throw("Invalid finalize reward"), if (isDefined(assetInfo(fromBase58String(ad))))
149+ then true
150+ else throw("Invalid WX asset ID"), if (isDefined(assetInfo(fromBase58String(af))))
141151 then true
142152 else throw("Invalid USDN asset ID")]
143- if ((ab == ab))
144- then $Tuple2([StringEntry(g, S), StringEntry(h, T), StringEntry(i, V), IntegerEntry(b, W), IntegerEntry(d, Y), IntegerEntry(e, aa), StringEntry(f, X), StringEntry(c, Z), StringEntry(j, U)], unit)
153+ if ((ah == ah))
154+ then $Tuple2([StringEntry(g, W), StringEntry(j, X), StringEntry(i, Y), StringEntry(k, Z), StringEntry(h, aa), StringEntry(l, ab), IntegerEntry(b, ac), IntegerEntry(d, ae), IntegerEntry(e, ag), StringEntry(f, ad), StringEntry(c, af)], unit)
145155 else throw("Strict value is not equal to itself.")
146156 }
147157
148158
149159
150-@Callable(M)
151-func suggest (n,o) = {
152- let ac = value(M.payments[0])
153- let ad = valueOrErrorMessage(assetInfo(fromBase58String(n)), "invalid amountAssetId ID")
154- let ab = [if ((ad.issuer == M.caller))
160+@Callable(Q)
161+func suggest (p,q) = {
162+ let ai = value(Q.payments[0])
163+ let aj = valueOrErrorMessage(assetInfo(fromBase58String(p)), "invalid amountAssetId ID")
164+ let ah = [if ((aj.issuer == Q.caller))
155165 then true
156- else throw("asset can only be suggested by its issuer"), if ((ad.scripted == false))
166+ else throw("asset can only be suggested by its issuer"), if ((aj.scripted == false))
157167 then true
158- else throw("asset is smart"), if ((toBase58String(value(ac.assetId)) == value(getString(f))))
168+ else throw("asset is smart"), if ((toBase58String(value(ai.assetId)) == value(getString(f))))
159169 then true
160- else throw("invalid fee asset"), if ((ac.amount == value(getInteger(b))))
170+ else throw("invalid fee asset"), if ((ai.amount == value(getInteger(b))))
161171 then true
162- else throw("invalid fee amount"), if ((o == value(getString(c))))
172+ else throw("invalid fee amount"), if ((q == value(getString(c))))
163173 then true
164- else throw("priceAssetId is not USDN"), if ((getInteger(m(n, o)) == unit))
174+ else throw("priceAssetId is not USDN"), if ((getInteger(o(p, q)) == unit))
165175 then true
166176 else throw("already in voting list")]
167- if ((ab == ab))
177+ if ((ah == ah))
168178 then {
169- let ae = {
170- let I = invoke(E, "statusREADONLY", [n, o], nil)
171- if ($isInstanceOf(I, "String"))
179+ let ak = {
180+ let M = invoke(J, "statusREADONLY", [p, q], nil)
181+ if ($isInstanceOf(M, "String"))
172182 then {
173- let J = I
174- if ((J == "active"))
183+ let N = M
184+ if ((N == "active"))
175185 then true
176186 else throw("user pool is not active")
177187 }
178188 else throw("user pool is not active")
179189 }
180- if ((ae == ae))
190+ if ((ak == ak))
181191 then {
182- let af = {
183- let I = invoke(G, "isVerifiedREADONLY", [n], nil)
184- if ($isInstanceOf(I, "Boolean"))
192+ let al = {
193+ let M = invoke(F, "isVerifiedREADONLY", [p], nil)
194+ if ($isInstanceOf(M, "Boolean"))
185195 then {
186- let ag = I
187- if (ag)
196+ let am = M
197+ if (am)
188198 then true
189199 else throw("asset is not verified")
190200 }
191201 else throw("asset is not verified")
192202 }
193- if ((af == af))
203+ if ((al == al))
194204 then {
195- let ah = invoke(D, "burn", nil, [AttachedPayment(ac.assetId, ac.amount)])
196- if ((ah == ah))
205+ let an = invoke(H, "burn", nil, [AttachedPayment(ai.assetId, ai.amount)])
206+ if ((an == an))
197207 then {
198- let ai = {
199- let I = getInteger(p(n, o))
200- if ($isInstanceOf(I, "Int"))
208+ let ao = {
209+ let M = getInteger(r(p, q))
210+ if ($isInstanceOf(M, "Int"))
201211 then {
202- let aj = I
203- (aj + 1)
212+ let ap = M
213+ (ap + 1)
204214 }
205215 else 0
206216 }
207- $Tuple2([IntegerEntry(m(n, o), ai), IntegerEntry(q(n, o, ai), height), StringEntry(s(n, o, ai), t("0", "0")), IntegerEntry(p(n, o), ai)], unit)
217+ $Tuple2([IntegerEntry(o(p, q), ao), IntegerEntry(s(p, q, ao), height), StringEntry(u(p, q, ao), v("0", "0")), IntegerEntry(r(p, q), ao)], unit)
208218 }
209219 else throw("Strict value is not equal to itself.")
210220 }
217227
218228
219229
220-@Callable(M)
221-func vote (n,o,ak) = {
222- let r = value(getInteger(m(n, o)))
223- let al = (value(getInteger(q(n, o, r))) + value(getInteger(d)))
224- let ab = [if (isDefined(getInteger(m(n, o))))
230+@Callable(Q)
231+func vote (p,q,aq) = {
232+ let t = value(getInteger(o(p, q)))
233+ let ar = (value(getInteger(s(p, q, t))) + value(getInteger(d)))
234+ let ah = [if (isDefined(getInteger(o(p, q))))
225235 then true
226- else throw("the token isn't on the voting list"), if ((al > height))
236+ else throw("the token isn't on the voting list"), if ((ar > height))
227237 then true
228238 else throw("too late to vote")]
229- if ((ab == ab))
239+ if ((ah == ah))
230240 then {
231- let z = invoke(F, "getUserGwxAmountAtHeightREADONLY", [toString(M.caller), al], nil)
232- let am = if ((P(z) > 0))
241+ let B = invoke(G, "getUserGwxAmountAtHeightREADONLY", [toString(Q.caller), ar], nil)
242+ let as = if ((T(B) > 0))
233243 then true
234244 else throw("you don't have gwx")
235- if ((am == am))
245+ if ((as == as))
236246 then {
237- let A = {
238- let I = getString(w(n, o, r, toString(M.caller)))
239- if ($isInstanceOf(I, "String"))
247+ let C = {
248+ let M = getString(y(p, q, t, toString(Q.caller)))
249+ if ($isInstanceOf(M, "String"))
240250 then {
241- let J = I
242- let A = split(J, a)
243- let an = A[1]
244- let ao = A[2]
245- let ap = if (if ((ao == "yes"))
246- then (ak == true)
251+ let N = M
252+ let C = split(N, a)
253+ let at = C[1]
254+ let au = C[2]
255+ let av = if (if ((au == "yes"))
256+ then (aq == true)
247257 else false)
248258 then true
249- else if ((ao == "no"))
250- then (ak == false)
259+ else if ((au == "no"))
260+ then (aq == false)
251261 else false
252- let aq = if (ap)
253- then (P(z) == parseIntValue(an))
262+ let aw = if (av)
263+ then (T(B) == parseIntValue(at))
254264 else false
255- let ar = if (if (ap)
256- then aq
265+ let ax = if (if (av)
266+ then aw
257267 else false)
258268 then throw("you already voted")
259- else invoke(this, "cancelVote", [n, o], nil)
260- ar
269+ else invoke(this, "cancelVote", [p, q], nil)
270+ ax
261271 }
262- else if ($isInstanceOf(I, "Unit"))
272+ else if ($isInstanceOf(M, "Unit"))
263273 then {
264- let as = I
265- as
274+ let ay = M
275+ ay
266276 }
267277 else throw("Match error")
268278 }
269- if ((A == A))
279+ if ((C == C))
270280 then {
271- let at = split(value(getString(s(n, o, r))), a)
272- let au = at[1]
273- let av = at[2]
274- let aw = if (ak)
281+ let az = split(value(getString(u(p, q, t))), a)
282+ let aA = az[1]
283+ let aB = az[2]
284+ let aC = if (aq)
275285 then {
276- let ax = (parseIntValue(au) + P(z))
277-[toString(ax), av]
286+ let aD = (parseIntValue(aA) + T(B))
287+[toString(aD), aB]
278288 }
279289 else {
280- let ay = (parseIntValue(av) + P(z))
281-[au, toString(ay)]
290+ let aE = (parseIntValue(aB) + T(B))
291+[aA, toString(aE)]
282292 }
283- let az = w(n, o, r, toString(M.caller))
284- let an = y(toString(P(z)), ak)
285- $Tuple2([StringEntry(s(n, o, r), t(aw[0], aw[1])), StringEntry(az, an)], unit)
293+ let aF = y(p, q, t, toString(Q.caller))
294+ let at = A(toString(T(B)), aq)
295+ $Tuple2([StringEntry(u(p, q, t), v(aC[0], aC[1])), StringEntry(aF, at)], unit)
286296 }
287297 else throw("Strict value is not equal to itself.")
288298 }
293303
294304
295305
296-@Callable(M)
297-func cancelVote (n,o) = {
298- let aA = if ((M.caller == this))
299- then toString(M.originCaller)
300- else toString(M.caller)
301- let r = value(getInteger(m(n, o)))
302- let ab = [if (isDefined(getString(s(n, o, r))))
306+@Callable(Q)
307+func cancelVote (p,q) = {
308+ let aG = if ((Q.caller == this))
309+ then toString(Q.originCaller)
310+ else toString(Q.caller)
311+ let t = value(getInteger(o(p, q)))
312+ let ah = [if (isDefined(getString(u(p, q, t))))
303313 then true
304314 else throw("no vote for assets pair")]
305- if ((ab == ab))
315+ if ((ah == ah))
306316 then {
307- let A = split(value(getString(w(n, o, r, aA))), a)
308- let an = A[1]
309- let ao = A[2]
310- let at = split(value(getString(s(n, o, r))), a)
311- let au = at[1]
312- let av = at[2]
313- let aB = if ((ao == "yes"))
317+ let C = split(value(getString(y(p, q, t, aG))), a)
318+ let at = C[1]
319+ let au = C[2]
320+ let az = split(value(getString(u(p, q, t))), a)
321+ let aA = az[1]
322+ let aB = az[2]
323+ let aH = if ((au == "yes"))
314324 then {
315- let ax = (parseIntValue(au) - parseIntValue(an))
316- $Tuple2([StringEntry(s(n, o, r), t(toString(ax), av)), DeleteEntry(w(n, o, r, aA))], unit)
325+ let aD = (parseIntValue(aA) - parseIntValue(at))
326+ $Tuple2([StringEntry(u(p, q, t), v(toString(aD), aB)), DeleteEntry(y(p, q, t, aG))], unit)
317327 }
318328 else {
319- let ay = (parseIntValue(av) - parseIntValue(an))
320- $Tuple2([StringEntry(s(n, o, r), t(au, toString(ay))), DeleteEntry(w(n, o, r, aA))], unit)
329+ let aE = (parseIntValue(aB) - parseIntValue(at))
330+ $Tuple2([StringEntry(u(p, q, t), v(aA, toString(aE))), DeleteEntry(y(p, q, t, aG))], unit)
321331 }
322- aB
332+ aH
323333 }
324334 else throw("Strict value is not equal to itself.")
325335 }
326336
327337
328338
329-@Callable(M)
330-func setFee (aC) = {
331- let ab = [L(M)]
332- if ((ab == ab))
333- then [IntegerEntry(b, aC)]
339+@Callable(Q)
340+func setFee (aI) = {
341+ let ah = [P(Q)]
342+ if ((ah == ah))
343+ then [IntegerEntry(b, aI)]
334344 else throw("Strict value is not equal to itself.")
335345 }
336346
337347
338348
339-@Callable(M)
340-func finalize (n,o) = {
341- let r = value(getInteger(m(n, o)))
342- let al = (value(getInteger(q(n, o, r))) + value(getInteger(d)))
343- let ab = [if (isDefined(getInteger(m(n, o))))
349+@Callable(Q)
350+func finalize (p,q) = {
351+ let t = value(getInteger(o(p, q)))
352+ let ar = (value(getInteger(s(p, q, t))) + value(getInteger(d)))
353+ let ah = [if (isDefined(getInteger(o(p, q))))
344354 then true
345- else throw("no assets pair"), if ((height >= al))
355+ else throw("no assets pair"), if ((height >= ar))
346356 then true
347357 else throw("insufficient height for completion")]
348- if ((ab == ab))
358+ if ((ah == ah))
349359 then {
350- let at = split(value(getString(s(n, o, r))), a)
351- let au = parseIntValue(at[1])
352- let av = parseIntValue(at[2])
353- let aB = if ((au > av))
360+ let az = split(value(getString(u(p, q, t))), a)
361+ let aA = parseIntValue(az[1])
362+ let aB = parseIntValue(az[2])
363+ let aH = if ((aA > aB))
354364 then {
355- let aD = invoke(G, "setPoolLabels", [n, o, "WX_EMISSION"], nil)
356- if ((aD == aD))
357- then $Tuple2([DeleteEntry(m(n, o))], unit)
365+ let aJ = invoke(I, "setWxEmissionPoolLabel", [p, q], nil)
366+ if ((aJ == aJ))
367+ then {
368+ let aK = invoke(K, "create", [p, q], nil)
369+ if ((aK == aK))
370+ then $Tuple2([DeleteEntry(o(p, q))], unit)
371+ else throw("Strict value is not equal to itself.")
372+ }
358373 else throw("Strict value is not equal to itself.")
359374 }
360- else $Tuple2([DeleteEntry(m(n, o))], unit)
361- aB
375+ else $Tuple2([DeleteEntry(o(p, q))], unit)
376+ aH
362377 }
363378 else throw("Strict value is not equal to itself.")
364379 }
365380
366381
367382
368-@Callable(M)
369-func setManager (aE) = {
370- let aF = L(M)
371- if ((aF == aF))
383+@Callable(Q)
384+func setManager (aL) = {
385+ let aM = P(Q)
386+ if ((aM == aM))
372387 then {
373- let aG = fromBase58String(aE)
374- if ((aG == aG))
375- then [StringEntry(C(), aE)]
388+ let aN = fromBase58String(aL)
389+ if ((aN == aN))
390+ then [StringEntry(E(), aL)]
376391 else throw("Strict value is not equal to itself.")
377392 }
378393 else throw("Strict value is not equal to itself.")
380395
381396
382397
383-@Callable(M)
398+@Callable(Q)
384399 func confirmManager () = {
385- let aH = K()
386- let aI = if (isDefined(aH))
400+ let aO = O()
401+ let aP = if (isDefined(aO))
387402 then true
388403 else throw("no pending manager")
389- if ((aI == aI))
404+ if ((aP == aP))
390405 then {
391- let aJ = if ((M.callerPublicKey == value(aH)))
406+ let aQ = if ((Q.callerPublicKey == value(aO)))
392407 then true
393408 else throw("you are not pending manager")
394- if ((aJ == aJ))
395- then [StringEntry(B(), toBase58String(value(aH))), DeleteEntry(C())]
409+ if ((aQ == aQ))
410+ then [StringEntry(D(), toBase58String(value(aO))), DeleteEntry(E())]
396411 else throw("Strict value is not equal to itself.")
397412 }
398413 else throw("Strict value is not equal to itself.")
399414 }
400415
401416
402-@Verifier(aK)
403-func aL () = {
404- let aM = {
405- let I = H()
406- if ($isInstanceOf(I, "ByteVector"))
417+@Verifier(aR)
418+func aS () = {
419+ let aT = {
420+ let M = L()
421+ if ($isInstanceOf(M, "ByteVector"))
407422 then {
408- let O = I
409- O
423+ let S = M
424+ S
410425 }
411- else if ($isInstanceOf(I, "Unit"))
412- then aK.senderPublicKey
426+ else if ($isInstanceOf(M, "Unit"))
427+ then aR.senderPublicKey
413428 else throw("Match error")
414429 }
415- sigVerify(aK.bodyBytes, aK.proofs[0], aM)
430+ sigVerify(aR.bodyBytes, aR.proofs[0], aT)
416431 }
417432
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = makeString(["%s", "fee"], a)
77
88 let c = makeString(["%s", "usdnAssetId"], a)
99
1010 let d = makeString(["%s", "epochLength"], a)
1111
1212 let e = makeString(["%s", "finalizeReward"], a)
1313
1414 let f = makeString(["%s", "wxAssetId"], a)
1515
1616 let g = makeString(["%s", "assetsStoreContract"], a)
1717
1818 let h = makeString(["%s", "userPoolContract"], a)
1919
2020 let i = makeString(["%s", "emissionContract"], a)
2121
2222 let j = makeString(["%s", "boostingContract"], a)
2323
24-func k (l) = valueOrErrorMessage(getString(this, l), (l + " is not defined"))
24+let k = makeString(["%s", "factoryContract"], a)
25+
26+let l = makeString(["%s", "votingEmissionContract"], a)
27+
28+func m (n) = valueOrErrorMessage(getString(this, n), (n + " is not defined"))
2529
2630
27-func m (n,o) = makeString(["%s%s%s", "inList", n, o], a)
31+func o (p,q) = makeString(["%s%s%s", "inList", p, q], a)
2832
2933
30-func p (n,o) = makeString(["%s%s%s", "suggestIndex", n, o], a)
34+func r (p,q) = makeString(["%s%s%s", "suggestIndex", p, q], a)
3135
3236
33-func q (n,o,r) = makeString(["%s%s%s%d", "startHeight", n, o, toString(r)], a)
37+func s (p,q,t) = makeString(["%s%s%s%d", "startHeight", p, q, toString(t)], a)
3438
3539
36-func s (n,o,r) = makeString(["%s%s%s%d", "votingResult", n, o, toString(r)], a)
40+func u (p,q,t) = makeString(["%s%s%s%d", "votingResult", p, q, toString(t)], a)
3741
3842
39-func t (u,v) = makeString(["%d%d", u, v], a)
43+func v (w,x) = makeString(["%d%d", w, x], a)
4044
4145
42-func w (n,o,r,x) = makeString(["%s%s%s%d%s", "vote", n, o, toString(r), x], a)
46+func y (p,q,t,z) = makeString(["%s%s%s%d%s", "vote", p, q, toString(t), z], a)
4347
4448
45-func y (z,A) = {
46- let l = if (A)
47- then makeString(["%d%s", z, "yes"], a)
48- else makeString(["%d%s", z, "no"], a)
49- l
49+func A (B,C) = {
50+ let n = if (C)
51+ then makeString(["%d%s", B, "yes"], a)
52+ else makeString(["%d%s", B, "no"], a)
53+ n
5054 }
5155
5256
53-func B () = "%s__managerPublicKey"
57+func D () = "%s__managerPublicKey"
5458
5559
56-func C () = "%s__pendingManagerPublicKey"
60+func E () = "%s__pendingManagerPublicKey"
5761
5862
59-let D = addressFromStringValue(k(i))
63+let F = addressFromStringValue(m(g))
6064
61-let E = addressFromStringValue(k(h))
65+let G = addressFromStringValue(m(j))
6266
63-let F = addressFromStringValue(k(j))
67+let H = addressFromStringValue(m(i))
6468
65-let G = addressFromStringValue(k(g))
69+let I = addressFromStringValue(m(k))
6670
67-func H () = {
68- let I = getString(B())
69- if ($isInstanceOf(I, "String"))
71+let J = addressFromStringValue(m(h))
72+
73+let K = addressFromStringValue(m(l))
74+
75+func L () = {
76+ let M = getString(D())
77+ if ($isInstanceOf(M, "String"))
7078 then {
71- let J = I
72- fromBase58String(J)
79+ let N = M
80+ fromBase58String(N)
7381 }
74- else if ($isInstanceOf(I, "Unit"))
82+ else if ($isInstanceOf(M, "Unit"))
7583 then unit
7684 else throw("Match error")
7785 }
7886
7987
80-func K () = {
81- let I = getString(C())
82- if ($isInstanceOf(I, "String"))
88+func O () = {
89+ let M = getString(E())
90+ if ($isInstanceOf(M, "String"))
8391 then {
84- let J = I
85- fromBase58String(J)
92+ let N = M
93+ fromBase58String(N)
8694 }
87- else if ($isInstanceOf(I, "Unit"))
95+ else if ($isInstanceOf(M, "Unit"))
8896 then unit
8997 else throw("Match error")
9098 }
9199
92100
93-func L (M) = {
94- let N = throw("permission denied")
95- let I = H()
96- if ($isInstanceOf(I, "ByteVector"))
101+func P (Q) = {
102+ let R = throw("permission denied")
103+ let M = L()
104+ if ($isInstanceOf(M, "ByteVector"))
97105 then {
98- let O = I
99- if ((M.callerPublicKey == O))
106+ let S = M
107+ if ((Q.callerPublicKey == S))
100108 then true
101- else N
109+ else R
102110 }
103- else if ($isInstanceOf(I, "Unit"))
104- then if ((M.caller == this))
111+ else if ($isInstanceOf(M, "Unit"))
112+ then if ((Q.caller == this))
105113 then true
106- else N
114+ else R
107115 else throw("Match error")
108116 }
109117
110118
111-func P (Q) = {
112- let I = Q
113- if ($isInstanceOf(I, "Int"))
119+func T (U) = {
120+ let M = U
121+ if ($isInstanceOf(M, "Int"))
114122 then {
115- let R = I
116- R
123+ let V = M
124+ V
117125 }
118126 else throw("failed to cast into Integer")
119127 }
120128
121129
122-@Callable(M)
123-func constructor (S,T,U,V,W,X,Y,Z,aa) = {
124- let ab = [L(M), if (isDefined(addressFromString(S)))
130+@Callable(Q)
131+func constructor (W,X,Y,Z,aa,ab,ac,ad,ae,af,ag) = {
132+ let ah = [P(Q), if (isDefined(addressFromString(W)))
125133 then true
126- else throw("Invalid asset_store contract address"), if (isDefined(addressFromString(U)))
134+ else throw("Invalid asset_store contract address"), if (isDefined(addressFromString(X)))
127135 then true
128- else throw("Invalid boosting contract address"), if (isDefined(addressFromString(T)))
136+ else throw("Invalid boosting contract address"), if (isDefined(addressFromString(aa)))
129137 then true
130- else throw("Invalid user_pools contract address"), if (isDefined(addressFromString(V)))
138+ else throw("Invalid user_pools contract address"), if (isDefined(addressFromString(Y)))
131139 then true
132- else throw("Invalid emission contract address"), if ((W >= 0))
140+ else throw("Invalid emission contract address"), if (isDefined(addressFromString(Z)))
133141 then true
134- else throw("Invalid fee amount"), if ((Y > 0))
142+ else throw("Invalid factory contract address"), if ((ac >= 0))
135143 then true
136- else throw("Invalid voting duration"), if ((aa > 0))
144+ else throw("Invalid fee amount"), if ((ae > 0))
137145 then true
138- else throw("Invalid finalize reward"), if (isDefined(assetInfo(fromBase58String(X))))
146+ else throw("Invalid voting duration"), if ((ag > 0))
139147 then true
140- else throw("Invalid WX asset ID"), if (isDefined(assetInfo(fromBase58String(Z))))
148+ else throw("Invalid finalize reward"), if (isDefined(assetInfo(fromBase58String(ad))))
149+ then true
150+ else throw("Invalid WX asset ID"), if (isDefined(assetInfo(fromBase58String(af))))
141151 then true
142152 else throw("Invalid USDN asset ID")]
143- if ((ab == ab))
144- then $Tuple2([StringEntry(g, S), StringEntry(h, T), StringEntry(i, V), IntegerEntry(b, W), IntegerEntry(d, Y), IntegerEntry(e, aa), StringEntry(f, X), StringEntry(c, Z), StringEntry(j, U)], unit)
153+ if ((ah == ah))
154+ then $Tuple2([StringEntry(g, W), StringEntry(j, X), StringEntry(i, Y), StringEntry(k, Z), StringEntry(h, aa), StringEntry(l, ab), IntegerEntry(b, ac), IntegerEntry(d, ae), IntegerEntry(e, ag), StringEntry(f, ad), StringEntry(c, af)], unit)
145155 else throw("Strict value is not equal to itself.")
146156 }
147157
148158
149159
150-@Callable(M)
151-func suggest (n,o) = {
152- let ac = value(M.payments[0])
153- let ad = valueOrErrorMessage(assetInfo(fromBase58String(n)), "invalid amountAssetId ID")
154- let ab = [if ((ad.issuer == M.caller))
160+@Callable(Q)
161+func suggest (p,q) = {
162+ let ai = value(Q.payments[0])
163+ let aj = valueOrErrorMessage(assetInfo(fromBase58String(p)), "invalid amountAssetId ID")
164+ let ah = [if ((aj.issuer == Q.caller))
155165 then true
156- else throw("asset can only be suggested by its issuer"), if ((ad.scripted == false))
166+ else throw("asset can only be suggested by its issuer"), if ((aj.scripted == false))
157167 then true
158- else throw("asset is smart"), if ((toBase58String(value(ac.assetId)) == value(getString(f))))
168+ else throw("asset is smart"), if ((toBase58String(value(ai.assetId)) == value(getString(f))))
159169 then true
160- else throw("invalid fee asset"), if ((ac.amount == value(getInteger(b))))
170+ else throw("invalid fee asset"), if ((ai.amount == value(getInteger(b))))
161171 then true
162- else throw("invalid fee amount"), if ((o == value(getString(c))))
172+ else throw("invalid fee amount"), if ((q == value(getString(c))))
163173 then true
164- else throw("priceAssetId is not USDN"), if ((getInteger(m(n, o)) == unit))
174+ else throw("priceAssetId is not USDN"), if ((getInteger(o(p, q)) == unit))
165175 then true
166176 else throw("already in voting list")]
167- if ((ab == ab))
177+ if ((ah == ah))
168178 then {
169- let ae = {
170- let I = invoke(E, "statusREADONLY", [n, o], nil)
171- if ($isInstanceOf(I, "String"))
179+ let ak = {
180+ let M = invoke(J, "statusREADONLY", [p, q], nil)
181+ if ($isInstanceOf(M, "String"))
172182 then {
173- let J = I
174- if ((J == "active"))
183+ let N = M
184+ if ((N == "active"))
175185 then true
176186 else throw("user pool is not active")
177187 }
178188 else throw("user pool is not active")
179189 }
180- if ((ae == ae))
190+ if ((ak == ak))
181191 then {
182- let af = {
183- let I = invoke(G, "isVerifiedREADONLY", [n], nil)
184- if ($isInstanceOf(I, "Boolean"))
192+ let al = {
193+ let M = invoke(F, "isVerifiedREADONLY", [p], nil)
194+ if ($isInstanceOf(M, "Boolean"))
185195 then {
186- let ag = I
187- if (ag)
196+ let am = M
197+ if (am)
188198 then true
189199 else throw("asset is not verified")
190200 }
191201 else throw("asset is not verified")
192202 }
193- if ((af == af))
203+ if ((al == al))
194204 then {
195- let ah = invoke(D, "burn", nil, [AttachedPayment(ac.assetId, ac.amount)])
196- if ((ah == ah))
205+ let an = invoke(H, "burn", nil, [AttachedPayment(ai.assetId, ai.amount)])
206+ if ((an == an))
197207 then {
198- let ai = {
199- let I = getInteger(p(n, o))
200- if ($isInstanceOf(I, "Int"))
208+ let ao = {
209+ let M = getInteger(r(p, q))
210+ if ($isInstanceOf(M, "Int"))
201211 then {
202- let aj = I
203- (aj + 1)
212+ let ap = M
213+ (ap + 1)
204214 }
205215 else 0
206216 }
207- $Tuple2([IntegerEntry(m(n, o), ai), IntegerEntry(q(n, o, ai), height), StringEntry(s(n, o, ai), t("0", "0")), IntegerEntry(p(n, o), ai)], unit)
217+ $Tuple2([IntegerEntry(o(p, q), ao), IntegerEntry(s(p, q, ao), height), StringEntry(u(p, q, ao), v("0", "0")), IntegerEntry(r(p, q), ao)], unit)
208218 }
209219 else throw("Strict value is not equal to itself.")
210220 }
211221 else throw("Strict value is not equal to itself.")
212222 }
213223 else throw("Strict value is not equal to itself.")
214224 }
215225 else throw("Strict value is not equal to itself.")
216226 }
217227
218228
219229
220-@Callable(M)
221-func vote (n,o,ak) = {
222- let r = value(getInteger(m(n, o)))
223- let al = (value(getInteger(q(n, o, r))) + value(getInteger(d)))
224- let ab = [if (isDefined(getInteger(m(n, o))))
230+@Callable(Q)
231+func vote (p,q,aq) = {
232+ let t = value(getInteger(o(p, q)))
233+ let ar = (value(getInteger(s(p, q, t))) + value(getInteger(d)))
234+ let ah = [if (isDefined(getInteger(o(p, q))))
225235 then true
226- else throw("the token isn't on the voting list"), if ((al > height))
236+ else throw("the token isn't on the voting list"), if ((ar > height))
227237 then true
228238 else throw("too late to vote")]
229- if ((ab == ab))
239+ if ((ah == ah))
230240 then {
231- let z = invoke(F, "getUserGwxAmountAtHeightREADONLY", [toString(M.caller), al], nil)
232- let am = if ((P(z) > 0))
241+ let B = invoke(G, "getUserGwxAmountAtHeightREADONLY", [toString(Q.caller), ar], nil)
242+ let as = if ((T(B) > 0))
233243 then true
234244 else throw("you don't have gwx")
235- if ((am == am))
245+ if ((as == as))
236246 then {
237- let A = {
238- let I = getString(w(n, o, r, toString(M.caller)))
239- if ($isInstanceOf(I, "String"))
247+ let C = {
248+ let M = getString(y(p, q, t, toString(Q.caller)))
249+ if ($isInstanceOf(M, "String"))
240250 then {
241- let J = I
242- let A = split(J, a)
243- let an = A[1]
244- let ao = A[2]
245- let ap = if (if ((ao == "yes"))
246- then (ak == true)
251+ let N = M
252+ let C = split(N, a)
253+ let at = C[1]
254+ let au = C[2]
255+ let av = if (if ((au == "yes"))
256+ then (aq == true)
247257 else false)
248258 then true
249- else if ((ao == "no"))
250- then (ak == false)
259+ else if ((au == "no"))
260+ then (aq == false)
251261 else false
252- let aq = if (ap)
253- then (P(z) == parseIntValue(an))
262+ let aw = if (av)
263+ then (T(B) == parseIntValue(at))
254264 else false
255- let ar = if (if (ap)
256- then aq
265+ let ax = if (if (av)
266+ then aw
257267 else false)
258268 then throw("you already voted")
259- else invoke(this, "cancelVote", [n, o], nil)
260- ar
269+ else invoke(this, "cancelVote", [p, q], nil)
270+ ax
261271 }
262- else if ($isInstanceOf(I, "Unit"))
272+ else if ($isInstanceOf(M, "Unit"))
263273 then {
264- let as = I
265- as
274+ let ay = M
275+ ay
266276 }
267277 else throw("Match error")
268278 }
269- if ((A == A))
279+ if ((C == C))
270280 then {
271- let at = split(value(getString(s(n, o, r))), a)
272- let au = at[1]
273- let av = at[2]
274- let aw = if (ak)
281+ let az = split(value(getString(u(p, q, t))), a)
282+ let aA = az[1]
283+ let aB = az[2]
284+ let aC = if (aq)
275285 then {
276- let ax = (parseIntValue(au) + P(z))
277-[toString(ax), av]
286+ let aD = (parseIntValue(aA) + T(B))
287+[toString(aD), aB]
278288 }
279289 else {
280- let ay = (parseIntValue(av) + P(z))
281-[au, toString(ay)]
290+ let aE = (parseIntValue(aB) + T(B))
291+[aA, toString(aE)]
282292 }
283- let az = w(n, o, r, toString(M.caller))
284- let an = y(toString(P(z)), ak)
285- $Tuple2([StringEntry(s(n, o, r), t(aw[0], aw[1])), StringEntry(az, an)], unit)
293+ let aF = y(p, q, t, toString(Q.caller))
294+ let at = A(toString(T(B)), aq)
295+ $Tuple2([StringEntry(u(p, q, t), v(aC[0], aC[1])), StringEntry(aF, at)], unit)
286296 }
287297 else throw("Strict value is not equal to itself.")
288298 }
289299 else throw("Strict value is not equal to itself.")
290300 }
291301 else throw("Strict value is not equal to itself.")
292302 }
293303
294304
295305
296-@Callable(M)
297-func cancelVote (n,o) = {
298- let aA = if ((M.caller == this))
299- then toString(M.originCaller)
300- else toString(M.caller)
301- let r = value(getInteger(m(n, o)))
302- let ab = [if (isDefined(getString(s(n, o, r))))
306+@Callable(Q)
307+func cancelVote (p,q) = {
308+ let aG = if ((Q.caller == this))
309+ then toString(Q.originCaller)
310+ else toString(Q.caller)
311+ let t = value(getInteger(o(p, q)))
312+ let ah = [if (isDefined(getString(u(p, q, t))))
303313 then true
304314 else throw("no vote for assets pair")]
305- if ((ab == ab))
315+ if ((ah == ah))
306316 then {
307- let A = split(value(getString(w(n, o, r, aA))), a)
308- let an = A[1]
309- let ao = A[2]
310- let at = split(value(getString(s(n, o, r))), a)
311- let au = at[1]
312- let av = at[2]
313- let aB = if ((ao == "yes"))
317+ let C = split(value(getString(y(p, q, t, aG))), a)
318+ let at = C[1]
319+ let au = C[2]
320+ let az = split(value(getString(u(p, q, t))), a)
321+ let aA = az[1]
322+ let aB = az[2]
323+ let aH = if ((au == "yes"))
314324 then {
315- let ax = (parseIntValue(au) - parseIntValue(an))
316- $Tuple2([StringEntry(s(n, o, r), t(toString(ax), av)), DeleteEntry(w(n, o, r, aA))], unit)
325+ let aD = (parseIntValue(aA) - parseIntValue(at))
326+ $Tuple2([StringEntry(u(p, q, t), v(toString(aD), aB)), DeleteEntry(y(p, q, t, aG))], unit)
317327 }
318328 else {
319- let ay = (parseIntValue(av) - parseIntValue(an))
320- $Tuple2([StringEntry(s(n, o, r), t(au, toString(ay))), DeleteEntry(w(n, o, r, aA))], unit)
329+ let aE = (parseIntValue(aB) - parseIntValue(at))
330+ $Tuple2([StringEntry(u(p, q, t), v(aA, toString(aE))), DeleteEntry(y(p, q, t, aG))], unit)
321331 }
322- aB
332+ aH
323333 }
324334 else throw("Strict value is not equal to itself.")
325335 }
326336
327337
328338
329-@Callable(M)
330-func setFee (aC) = {
331- let ab = [L(M)]
332- if ((ab == ab))
333- then [IntegerEntry(b, aC)]
339+@Callable(Q)
340+func setFee (aI) = {
341+ let ah = [P(Q)]
342+ if ((ah == ah))
343+ then [IntegerEntry(b, aI)]
334344 else throw("Strict value is not equal to itself.")
335345 }
336346
337347
338348
339-@Callable(M)
340-func finalize (n,o) = {
341- let r = value(getInteger(m(n, o)))
342- let al = (value(getInteger(q(n, o, r))) + value(getInteger(d)))
343- let ab = [if (isDefined(getInteger(m(n, o))))
349+@Callable(Q)
350+func finalize (p,q) = {
351+ let t = value(getInteger(o(p, q)))
352+ let ar = (value(getInteger(s(p, q, t))) + value(getInteger(d)))
353+ let ah = [if (isDefined(getInteger(o(p, q))))
344354 then true
345- else throw("no assets pair"), if ((height >= al))
355+ else throw("no assets pair"), if ((height >= ar))
346356 then true
347357 else throw("insufficient height for completion")]
348- if ((ab == ab))
358+ if ((ah == ah))
349359 then {
350- let at = split(value(getString(s(n, o, r))), a)
351- let au = parseIntValue(at[1])
352- let av = parseIntValue(at[2])
353- let aB = if ((au > av))
360+ let az = split(value(getString(u(p, q, t))), a)
361+ let aA = parseIntValue(az[1])
362+ let aB = parseIntValue(az[2])
363+ let aH = if ((aA > aB))
354364 then {
355- let aD = invoke(G, "setPoolLabels", [n, o, "WX_EMISSION"], nil)
356- if ((aD == aD))
357- then $Tuple2([DeleteEntry(m(n, o))], unit)
365+ let aJ = invoke(I, "setWxEmissionPoolLabel", [p, q], nil)
366+ if ((aJ == aJ))
367+ then {
368+ let aK = invoke(K, "create", [p, q], nil)
369+ if ((aK == aK))
370+ then $Tuple2([DeleteEntry(o(p, q))], unit)
371+ else throw("Strict value is not equal to itself.")
372+ }
358373 else throw("Strict value is not equal to itself.")
359374 }
360- else $Tuple2([DeleteEntry(m(n, o))], unit)
361- aB
375+ else $Tuple2([DeleteEntry(o(p, q))], unit)
376+ aH
362377 }
363378 else throw("Strict value is not equal to itself.")
364379 }
365380
366381
367382
368-@Callable(M)
369-func setManager (aE) = {
370- let aF = L(M)
371- if ((aF == aF))
383+@Callable(Q)
384+func setManager (aL) = {
385+ let aM = P(Q)
386+ if ((aM == aM))
372387 then {
373- let aG = fromBase58String(aE)
374- if ((aG == aG))
375- then [StringEntry(C(), aE)]
388+ let aN = fromBase58String(aL)
389+ if ((aN == aN))
390+ then [StringEntry(E(), aL)]
376391 else throw("Strict value is not equal to itself.")
377392 }
378393 else throw("Strict value is not equal to itself.")
379394 }
380395
381396
382397
383-@Callable(M)
398+@Callable(Q)
384399 func confirmManager () = {
385- let aH = K()
386- let aI = if (isDefined(aH))
400+ let aO = O()
401+ let aP = if (isDefined(aO))
387402 then true
388403 else throw("no pending manager")
389- if ((aI == aI))
404+ if ((aP == aP))
390405 then {
391- let aJ = if ((M.callerPublicKey == value(aH)))
406+ let aQ = if ((Q.callerPublicKey == value(aO)))
392407 then true
393408 else throw("you are not pending manager")
394- if ((aJ == aJ))
395- then [StringEntry(B(), toBase58String(value(aH))), DeleteEntry(C())]
409+ if ((aQ == aQ))
410+ then [StringEntry(D(), toBase58String(value(aO))), DeleteEntry(E())]
396411 else throw("Strict value is not equal to itself.")
397412 }
398413 else throw("Strict value is not equal to itself.")
399414 }
400415
401416
402-@Verifier(aK)
403-func aL () = {
404- let aM = {
405- let I = H()
406- if ($isInstanceOf(I, "ByteVector"))
417+@Verifier(aR)
418+func aS () = {
419+ let aT = {
420+ let M = L()
421+ if ($isInstanceOf(M, "ByteVector"))
407422 then {
408- let O = I
409- O
423+ let S = M
424+ S
410425 }
411- else if ($isInstanceOf(I, "Unit"))
412- then aK.senderPublicKey
426+ else if ($isInstanceOf(M, "Unit"))
427+ then aR.senderPublicKey
413428 else throw("Match error")
414429 }
415- sigVerify(aK.bodyBytes, aK.proofs[0], aM)
430+ sigVerify(aR.bodyBytes, aR.proofs[0], aT)
416431 }
417432

github/deemru/w8io/03bedc9 
156.16 ms