tx · DaQftHthemrU2f9FLRtwTkRAESZoScoYWUkVi3rWbUcY

3Ms4MZrzF79PMzuastKiXyPUGkk7b7d7yBL:  -0.01000000 Waves

2022.01.24 15:27 [1892991] smart account 3Ms4MZrzF79PMzuastKiXyPUGkk7b7d7yBL > SELF 0.00000000 Waves

{ "type": 13, "id": "DaQftHthemrU2f9FLRtwTkRAESZoScoYWUkVi3rWbUcY", "fee": 1000000, "feeAssetId": null, "timestamp": 1643027293026, "version": 2, "chainId": 84, "sender": "3Ms4MZrzF79PMzuastKiXyPUGkk7b7d7yBL", "senderPublicKey": "6FfZuVTpKJrksk6BMCEjXjCra9NdMjMFLrTHBar8Y8mA", "proofs": [ "2tcsY5whP3cTPSrYf6pBByTPJ9x4iMtEbF18Jv5AZPZtREretPiSsa4AUCwW6VLrHRbBpuRjR9GmvF6GXwzJvCxB" ], "script": "base64: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dAUAAAAIZHVyYXRpb24FAAAAAWsFAAAAAWIFAAAAA25pbAEAAAAKU3RhdHNFbnRyeQAAAAQAAAAOdG90YWxMb2NrZWRJbmMAAAALZHVyYXRpb25JbmMAAAAMbG9ja0NvdW50SW5jAAAADXVzZXJzQ291bnRJbmMEAAAAGGxvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwkBAAAADGdldEludE9yWmVybwAAAAEJAQAAACBrZXlTdGF0c0xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwAAAAAEAAAACmxvY2tzQ291bnQJAQAAAAxnZXRJbnRPclplcm8AAAABCQEAAAASa2V5U3RhdHNMb2Nrc0NvdW50AAAAAAQAAAAKdXNlcnNDb3VudAkBAAAADGdldEludE9yWmVybwAAAAEJAQAAABJrZXlTdGF0c1VzZXJzQ291bnQAAAAABAAAAAt0b3RhbEFtb3VudAkBAAAADGdldEludE9yWmVybwAAAAEJAQAAABdrZXlMb2NrUGFyYW1Ub3RhbEFtb3VudAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACBrZXlTdGF0c0xvY2tzRHVyYXRpb25TdW1JbkJsb2NrcwAAAAAJAABkAAAAAgUAAAAYbG9ja3NEdXJhdGlvblN1bUluQmxvY2tzBQAAAAtkdXJhdGlvbkluYwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEmtleVN0YXRzTG9ja3NDb3VudAAAAAAJAABkAAAAAgUAAAAKbG9ja3NDb3VudAUAAAAMbG9ja0NvdW50SW5jCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASa2V5U3RhdHNVc2Vyc0NvdW50AAAAAAkAAGQAAAACBQAAAAp1c2Vyc0NvdW50BQAAAA11c2Vyc0NvdW50SW5jCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAXa2V5TG9ja1BhcmFtVG90YWxBbW91bnQAAAAACQAAZAAAAAIFAAAAC3RvdGFsQW1vdW50BQAAAA50b3RhbExvY2tlZEluYwUAAAADbmlsAQAAAA9Mb2NrUGFyYW1zRW50cnkAAAAHAAAAB3VzZXJOdW0AAAAGYW1vdW50AAAABXN0YXJ0AAAACGR1cmF0aW9uAAAAAWsAAAABYgAAAAZwZXJpb2QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50AAAAAQUAAAAHdXNlck51bQUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWa2V5TG9ja1BhcmFtU3RhcnRCbG9jawAAAAEFAAAAB3VzZXJOdW0FAAAABXN0YXJ0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUa2V5TG9ja1BhcmFtRHVyYXRpb24AAAABBQAAAAd1c2VyTnVtBQAAAAhkdXJhdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADWtleUxvY2tQYXJhbUsAAAABBQAAAAd1c2VyTnVtBQAAAAFrCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAANa2V5TG9ja1BhcmFtQgAAAAEFAAAAB3VzZXJOdW0FAAAAAWIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVrZXlMb2NrUGFyYW1CeVBlcmlvZEsAAAACBQAAAAd1c2VyTnVtBQAAAAZwZXJpb2QFAAAAAWsJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABVrZXlMb2NrUGFyYW1CeVBlcmlvZEIAAAACBQAAAAd1c2VyTnVtBQAAAAZwZXJpb2QFAAAAAWIFAAAAA25pbAEAAAAPZ2V0UGFyYW1zT3JGYWlsAAAAAAQAAAAQbmV1dHJpbm9Db250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAABprZXlOZXV0cmlub0NvbnRyYWN0QWRkcmVzcwAAAAAEAAAADWdOc2J0Q29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABCQEAAAAXa2V5R05zYnRDb250cmFjdEFkZHJlc3MAAAAABAAAAAtib25kQXNzZXRJZAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAAMa2V5Qm9uZEFzc2V0AAAAAAQAAAANbWluTG9ja0Ftb3VudAkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAABBrZXlNaW5Mb2NrQW1vdW50AAAAAAQAAAAPbWluTG9ja0R1cmF0aW9uCQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAEmtleU1pbkxvY2tEdXJhdGlvbgAAAAAEAAAAD21heExvY2tEdXJhdGlvbgkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAABJrZXlNYXhMb2NrRHVyYXRpb24AAAAABAAAAAtuZXh0VXNlck51bQkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAAA5rZXlOZXh0VXNlck51bQAAAAAJAAUYAAAABgUAAAANZ05zYnRDb250cmFjdAUAAAALYm9uZEFzc2V0SWQFAAAADW1pbkxvY2tBbW91bnQFAAAAD21pbkxvY2tEdXJhdGlvbgUAAAAPbWF4TG9ja0R1cmF0aW9uBQAAAAtuZXh0VXNlck51bQEAAAAMaXNVc2VyRXhpc3RzAAAAAQAAAAt1c2VyQWRkcmVzcwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEmtleVVzZXIyTnVtTWFwcGluZwAAAAEFAAAAC3VzZXJBZGRyZXNzAQAAABNnZXRVc2VyUGFyYW1zT3JVbml0AAAAAQAAAAt1c2VyQWRkcmVzcwMJAQAAAAxpc1VzZXJFeGlzdHMAAAABBQAAAAt1c2VyQWRkcmVzcwQAAAAHdXNlck51bQkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAABJrZXlVc2VyMk51bU1hcHBpbmcAAAABBQAAAAt1c2VyQWRkcmVzcwkABRgAAAAGBQAAAAd1c2VyTnVtCQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAFmtleUxvY2tQYXJhbVVzZXJBbW91bnQAAAABBQAAAAd1c2VyTnVtCQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAFmtleUxvY2tQYXJhbVN0YXJ0QmxvY2sAAAABBQAAAAd1c2VyTnVtCQEAAAAMZ2V0SW50T3JGYWlsAAAAAQkBAAAAFGtleUxvY2tQYXJhbUR1cmF0aW9uAAAAAQUAAAAHdXNlck51bQkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAAA1rZXlMb2NrUGFyYW1LAAAAAQUAAAAHdXNlck51bQkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAAA1rZXlMb2NrUGFyYW1CAAAAAQUAAAAHdXNlck51bQUAAAAEdW5pdAEAAAATZ2V0VXNlclBhcmFtc09yRmFpbAAAAAEAAAALdXNlckFkZHJlc3MJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkBAAAAE2dldFVzZXJQYXJhbXNPclVuaXQAAAABBQAAAAt1c2VyQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAABVVzZXIgCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzAgAAAA8gaXMgbm90IGRlZmluZWQAAAAIAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAABQAAABduZXV0cmlub0NvbnRyYWN0QWRkcmVzcwAAABRnTnNidENvbnRyYWN0QWRkcmVzcwAAAA1taW5Mb2NrQW1vdW50AAAAD21pbkxvY2tEdXJhdGlvbgAAAA9tYXhMb2NrRHVyYXRpb24EAAAABmNoZWNrcwkABEwAAAACCQEAAAAIdGhpc09ubHkAAAABBQAAAAFpBQAAAANuaWwDCQAAAAAAAAIFAAAABmNoZWNrcwUAAAAGY2hlY2tzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABprZXlOZXV0cmlub0NvbnRyYWN0QWRkcmVzcwAAAAAFAAAAF25ldXRyaW5vQ29udHJhY3RBZGRyZXNzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABdrZXlHTnNidENvbnRyYWN0QWRkcmVzcwAAAAAFAAAAFGdOc2J0Q29udHJhY3RBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAQa2V5TWluTG9ja0Ftb3VudAAAAAAFAAAADW1pbkxvY2tBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABJrZXlNaW5Mb2NrRHVyYXRpb24AAAAABQAAAA9taW5Mb2NrRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABJrZXlNYXhMb2NrRHVyYXRpb24AAAAABQAAAA9tYXhMb2NrRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5rZXlOZXh0VXNlck51bQAAAAAAAAAAAAAAAAAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAEbG9jawAAAAEAAAAIZHVyYXRpb24EAAAAFHBheW1lbnRzUmVxdWlyZWRTaXplAAAAAAAAAAABBAAAAAskdDA3MTU3NzI5OQkBAAAAD2dldFBhcmFtc09yRmFpbAAAAAAEAAAADWdOc2J0Q29udHJhY3QIBQAAAAskdDA3MTU3NzI5OQAAAAJfMQQAAAALYm9uZEFzc2V0SWQIBQAAAAskdDA3MTU3NzI5OQAAAAJfMgQAAAANbWluTG9ja0Ftb3VudAgFAAAACyR0MDcxNTc3Mjk5AAAAAl8zBAAAAA9taW5Mb2NrRHVyYXRpb24IBQAAAAskdDA3MTU3NzI5OQAAAAJfNAQAAAAPbWF4TG9ja0R1cmF0aW9uCAUAAAALJHQwNzE1NzcyOTkAAAACXzUEAAAAC25leHRVc2VyTnVtCAUAAAALJHQwNzE1NzcyOTkAAAACXzYEAAAAEWNoZWNrUGF5bWVudHNTaXplAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwUAAAAUcGF5bWVudHNSZXF1aXJlZFNpemUJAAACAAAAAQIAAAAVSW52YWxpZCBwYXltZW50cyBzaXplBgMJAAAAAAAAAgUAAAARY2hlY2tQYXltZW50c1NpemUFAAAAEWNoZWNrUGF5bWVudHNTaXplBAAAAAdwYXltZW50CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAZhbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAATaW52YWxpZEFzc2V0TWVzc2FnZQkAASwAAAACCQABLAAAAAICAAAAD0ludmFsaWQgYXNzZXQuIAkAAlgAAAABBQAAAAtib25kQXNzZXRJZAIAAAAMIGlzIGV4cGVjdGVkBAAAAAdhc3Nl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eHRQZXJpb2QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANZ05zYnRDb250cmFjdAkBAAAADWtleU5leHRQZXJpb2QAAAAAAAAAAAAAAAAABAAAAAlsb2NrU3RhcnQFAAAABmhlaWdodAQAAAALJHQwOTAzMzkxMTkJAQAAABtnZXRTbG9wZUludGVyY2VwdEZvcm1QYXJhbXMAAAAEBQAAAAZhbW91bnQFAAAACGR1cmF0aW9uBQAAAA9tYXhMb2NrRHVyYXRpb24FAAAACWxvY2tTdGFydAQAAAABawgFAAAACyR0MDkwMzM5MTE5AAAAAl8xBAAAAAFiCAUAAAALJHQwOTAzMzkxMTkAAAACXzIEAAAADm5leHRVc2VyTnVtSW5jAwUAAAAJaXNOZXdVc2VyAAAAAAAAAAABAAAAAAAAAAAACQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOa2V5TmV4dFVzZXJOdW0AAAAACQAAZAAAAAIFAAAAC25leHRVc2VyTnVtBQAAAA5uZXh0VXNlck51bUluYwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEmtleVVzZXIyTnVtTWFwcGluZwAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAAd1c2VyTnVtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlOdW0yVXNlck1hcHBpbmcAAAABBQAAAAd1c2VyTnVtCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAANuaWwJAQAAAA9Mb2NrUGFyYW1zRW50cnkAAAAHBQAAAAd1c2VyTnVtBQAAAAZhbW91bnQFAAAACWxvY2tTdGFydAUAAAAIZHVyYXRpb24FAAAAAWsFAAAAAWIFAAAACm5leHRQZXJpb2QJAQAAABJIaXN0b3J5UmVjb3JkRW50cnkAAAAIAgAAAARsb2NrBQAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAGYW1vdW50BQAAAAlsb2NrU3RhcnQFAAAACGR1cmF0aW9uBQAAAAFrBQAAAAFiCQEAAAAKU3RhdHNFbnRyeQAAAAQFAAAABmFtb3VudAUAAAAIZHVyYXRpb24AAAAAAAAAAAEAAAAAAAAAAAEJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADGluY3JlYXNlTG9jawAAAAEAAAANZGVsdGFEdXJhdGlvbgQAAAAPcGF5bWVudHNNYXhTaXplAAAAAAAAAAABBAAAAAZwYXJhbXMJAQAAAA9nZXRQYXJhbXNPckZhaWwAAAAABAAAAAskdDA5NzE3OTgzMAkABRYAAAAECAUAAAAGcGFyYW1zAAAAAl8xCAUAAAAGcGFyYW1zAAAAAl8yCAUAAAAGcGFyYW1zAAAAAl80CAUAAAAGcGFyYW1zAAAAAl81BAAAAA1nTnNidENvbnRyYWN0CAUAAAALJHQwOTcxNzk4MzAAAAACXzEEAAAAC2JvbmRBc3NldElkCAUAAAALJHQwOTcxNzk4MzAAAAACXzIEAAAAD21pbkxvY2tEdXJhdGlvbggFAAAACyR0MDk3MTc5ODMwAAAAAl8zBAAAAA9tYXhMb2NrRHVyYXRpb24IBQAAAAskdDA5NzE3OTgzMAAAAAJfNAQAAAAMcGF5bWVudHNTaXplCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzBAAAABFjaGVja1BheW1lbnRzU2l6ZQMJAABmAAAAAgUAAAAMcGF5bWVudHNTaXplBQAAAA9wYXltZW50c01heFNpemUJAAACAAAAAQIAAAAVSW52YWxpZCBwYXltZW50cyBzaXplBgMJAAAAAAAAAgUAAAARY2hlY2tQYXltZW50c1NpemUFAAAAEWNoZWNrUGF5bWVudHNTaXplBAAAAAwkdDA5OTgzMTA0MjADCQAAAAAAAAIFAAAADHBheW1lbnRzU2l6ZQUAAAAPcGF5bWVudHNNYXhTaXplBAAAAAdwYXltZW50CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAABNpbnZhbGlkQXNzZXRNZXNzYWdlCQABLAAAAAIJAAEsAAAAAgIAAAAPSW52YWxpZCBhc3NldC4gCQACWAAAAAEFAAAAC2JvbmRBc3NldElkAgAAAAwgaXMgZXhwZWN0ZWQEAAAAB2Fzc2V0SWQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAATaW52YWxpZEFzc2V0TWVzc2FnZQQAAAAMY2hlY2tBc3NldElkAwkBAAAAAiE9AAAAAgUAAAAHYXNzZXRJZAUAAAALYm9uZEFzc2V0SWQJAAACAAAAAQUAAAATaW52YWxpZEFzc2V0TWVzc2FnZQYDCQAAAAAAAAIFAAAADGNoZWNrQXNzZXRJZAUAAAAMY2hlY2tBc3NldElkCQAFFAAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAAHYXNzZXRJZAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAUUAAAAAgAAAAAAAAAAAAUAAAAEdW5pdAQAAAAGYW1vdW50CAUAAAAMJHQwOTk4MzEwNDIwAAAAAl8xBAAAAAdhc3NldElkCAUAAAAMJHQwOTk4MzEwNDIwAAAAAl8yBAAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAAtjaGVja1NjcmlwdAMJAQAAAAlpc0RlZmluZWQAAAABCQAD8QAAAAEFAAAAC3VzZXJBZGRyZXNzCQAAAgAAAAECAAAAIkFkZHJlc3MgaXMgc2NyaXB0ZWQuIEFjY2VzcyBkZW5pZWQGAwkAAAAAAAACBQAAAAtjaGVja1NjcmlwdAUAAAALY2hlY2tTY3JpcHQEAAAACnVzZXJQYXJhbXMJAQAAABNnZXRVc2VyUGFyYW1zT3JGYWlsAAAAAQUAAAALdXNlckFkZHJlc3MEAAAADSR0MDEwNjMxMTA3NDQJAAUWAAAABAgFAAAACnVzZXJQYXJhbXMAAAACXzEIBQAAAAp1c2VyUGFyYW1zAAAAAl8yCAUAAAAKdXNlclBhcmFtcwAAAAJfMwgFAAAACnVzZXJQYXJhbXMAAAACXzQEAAAAB3VzZXJOdW0IBQAAAA0kdDAxMDYzMTEwNzQ0AAAAAl8xBAAAAApsb2NrQW1vdW50CAUAAAANJHQwMTA2MzExMDc0NAAAAAJfMgQAAAAJbG9ja1N0YXJ0CAUAAAANJHQwMTA2MzExMDc0NAAAAAJfMwQAAAAMbG9ja0R1cmF0aW9uCAUAAAANJHQwMTA2MzExMDc0NAAAAAJfNAQAAAAHbG9ja0VuZAkAAGQAAAACBQAAAAlsb2NrU3RhcnQFAAAADGxvY2tEdXJhdGlvbgQAAAAJbmV3QW1vdW50CQAAZAAAAAIFAAAACmxvY2tBbW91bnQFAAAABmFtb3VudAQAAAAMbmV3TG9ja1N0YXJ0BQAAAAZoZWlnaHQEAAAAD25ld0xvY2tEdXJhdGlvbgkAAGQAAAACBQAAAA1kZWx0YUR1cmF0aW9uCQABlgAAAAEJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACCQAAZQAAAAIFAAAAB2xvY2tFbmQFAAAADG5ld0xvY2tTdGFydAUAAAADbmlsBAAAAA1jaGVja0R1cmF0aW9uCQAETAAAAAIDCQAAZgAAAAIAAAAAAAAAAAAFAAAADWRlbHRhRHVyYXRpb24JAAACAAAAAQIAAAAmSW5jcmVhc2UgaW4gZHVyYXRpb24gaXMgbGVzcyB0aGVuIHplcm8GCQAETAAAAAIDCQAAZgAAAAIFAAAAD21pbkxvY2tEdXJhdGlvbgUAAAAPbmV3TG9ja0R1cmF0aW9uCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABVNaW4gbG9jayBkdXJhdGlvbiBpcyAJAAGkAAAAAQUAAAAPbWluTG9ja0R1cmF0aW9uAgAAAAcgYmxvY2tzBgkABEwAAAACAwkAAGYAAAACBQAAAA9uZXdMb2NrRHVyYXRpb24FAAAAD21heExvY2tEdXJhdGlvbgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAVTWF4IGxvY2sgZHVyYXRpb24gaXMgCQABpAAAAAEFAAAAD21heExvY2tEdXJhdGlvbgIAAAAHIGJsb2NrcwYFAAAAA25pbAMJAAAAAAAAAgUAAAANY2hlY2tEdXJhdGlvbgUAAAANY2hlY2tEdXJhdGlvbgQAAAAKbmV4dFBlcmlvZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1nTnNidENvbnRyYWN0CQEAAAANa2V5TmV4dFBlcmlvZAAAAAAAAAAAAAAAAAAEAAAADSR0MDExMzg4MTE0OTMJAQAAABtnZXRTbG9wZUludGVyY2VwdEZvcm1QYXJhbXMAAAAEBQAAAAluZXdBbW91bnQFAAAAD25ld0xvY2tEdXJhdGlvbgUAAAAPbWF4TG9ja0R1cmF0aW9uBQAAAAxuZXdMb2NrU3RhcnQEAAAABGtOZXcIBQAAAA0kdDAxMTM4ODExNDkzAAAAAl8xBAAAAARiTmV3CAUAAAANJHQwMTEzODgxMTQ5MwAAAAJfMgkABE4AAAACCQAETgAAAAIJAQAAAA9Mb2NrUGFyYW1zRW50cnkAAAAHBQAAAAd1c2VyTnVtBQAAAAluZXdBbW91bnQFAAAADG5ld0xvY2tTdGFydAUAAAAPbmV3TG9ja0R1cmF0aW9uBQAAAARrTmV3BQAAAARiTmV3BQAAAApuZXh0UGVyaW9kCQEAAAASSGlzdG9yeVJlY29yZEVudHJ5AAAACAIAAAAMaW5jcmVhc2VMb2NrBQAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAJbmV3QW1vdW50BQAAAAxuZXdMb2NrU3RhcnQFAAAAD25ld0xvY2tEdXJhdGlvbgUAAAAEa05ldwUAAAAEYk5ldwkBAAAAClN0YXRzRW50cnkAAAAEBQAAAAZhbW91bnQFAAAADWRlbHRhRHVyYXRpb24AAAAAAAAAAAAAAAAAAAAAAAAJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAGdW5sb2NrAAAAAAQAAAALdXNlckFkZHJlc3MIBQAAAAFpAAAABmNhbGxlcgQAAAAGcGFyYW1zCQEAAAAPZ2V0UGFyYW1zT3JGYWlsAAAAAAQAAAANJHQwMTE4NjAxMTkxNwkABRQAAAACCAUAAAAGcGFyYW1zAAAAAl8xCAUAAAAGcGFyYW1zAAAAAl8yBAAAAA1n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", "height": 1892991, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7uHxy7HiGNGjDWurVk8TPCUVvmCLLnpi1cVECXDWNqz1 Next: none Diff:
OldNewDifferences
346346 let bl = $Tuple2(aX._5, aX._6)
347347 let T = bl._1
348348 let U = bl._2
349- let bm = ((T * height) + U)
349+ let bm = (((T * height) + U) / c)
350350 $Tuple2(nil, bm)
351351 }
352352 else $Tuple2(nil, 0)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = ""
55
66 let b = "__"
77
88 let c = 1000
99
1010 func d () = "bond_asset_id"
1111
1212
1313 func e () = makeString(["%s", "neutrinoContractAddress"], b)
1414
1515
1616 func f () = makeString(["%s", "gNsbtContractAddress"], b)
1717
1818
1919 func g () = makeString(["%s", "minLockAmount"], b)
2020
2121
2222 func h () = makeString(["%s", "minLockDuration"], b)
2323
2424
2525 func i () = makeString(["%s", "maxLockDuration"], b)
2626
2727
2828 func j () = makeString(["%s", "nextUserNum"], b)
2929
3030
3131 func k (l) = makeString(["%s%s%s", "mapping", "user2num", toString(l)], b)
3232
3333
3434 func m (n) = makeString(["%s%s%s", "mapping", "num2user", toString(n)], b)
3535
3636
3737 func o (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "amount"], b)
3838
3939
4040 func q (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "start"], b)
4141
4242
4343 func r (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "duration"], b)
4444
4545
4646 func s (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "k"], b)
4747
4848
4949 func t (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "b"], b)
5050
5151
5252 func u (p,v) = makeString(["%s%d%s%d", "paramByPeriod", toString(p), "k", toString(v)], b)
5353
5454
5555 func w (p,v) = makeString(["%s%d%s%d", "paramByPeriod", toString(p), "b", toString(v)], b)
5656
5757
5858 func x (y,l,z) = makeString(["%s%s%s%s", "history", y, toString(l), toBase58String(z)], b)
5959
6060
6161 func A () = makeString(["%s%s", "stats", "activeTotalLocked"], b)
6262
6363
6464 func B () = makeString(["%s%s", "stats", "locksDurationSumInBlocks"], b)
6565
6666
6767 func C () = makeString(["%s%s", "stats", "locksCount"], b)
6868
6969
7070 func D () = makeString(["%s%s", "stats", "activeUsersCount"], b)
7171
7272
7373 func E () = makeString(["%s", "nextPeriod"], b)
7474
7575
7676 func F (G) = if ((G.caller != this))
7777 then throw("Permission denied")
7878 else true
7979
8080
8181 func H (I) = valueOrElse(getInteger(this, I), 0)
8282
8383
8484 func J (I) = valueOrErrorMessage(getInteger(this, I), (("Mandatory this." + I) + " is not defined"))
8585
8686
8787 func K (I) = valueOrErrorMessage(getString(this, I), (("Mandatory this." + I) + " is not defined"))
8888
8989
9090 func L (M,N,O) = fraction(M, N, O)
9191
9292
9393 func P (Q,N,O,R) = {
9494 let S = (R + N)
9595 let T = -(fraction(Q, c, O))
9696 let U = (-(T) * S)
9797 $Tuple2(T, U)
9898 }
9999
100100
101101 func V (Q,W,N,T,U) = makeString(["%d%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(Q), toString(W), toString(N), toString(T), toString(U)], b)
102102
103103
104104 func X (y,l,z,Q,W,N,T,U) = [StringEntry(x(y, l, z), V(Q, W, N, T, U))]
105105
106106
107107 func Y (Z,aa,ab,ac) = {
108108 let ad = H(B())
109109 let ae = H(C())
110110 let af = H(D())
111111 let ag = H(A())
112112 [IntegerEntry(B(), (ad + aa)), IntegerEntry(C(), (ae + ab)), IntegerEntry(D(), (af + ac)), IntegerEntry(A(), (ag + Z))]
113113 }
114114
115115
116116 func ah (p,Q,W,N,T,U,v) = [IntegerEntry(o(p), Q), IntegerEntry(q(p), W), IntegerEntry(r(p), N), IntegerEntry(s(p), T), IntegerEntry(t(p), U), IntegerEntry(u(p, v), T), IntegerEntry(w(p, v), U)]
117117
118118
119119 func ai () = {
120120 let aj = addressFromStringValue(K(e()))
121121 let ak = addressFromStringValue(K(f()))
122122 let al = fromBase58String(getStringValue(aj, d()))
123123 let am = J(g())
124124 let an = J(h())
125125 let ao = J(i())
126126 let ap = J(j())
127127 $Tuple6(ak, al, am, an, ao, ap)
128128 }
129129
130130
131131 func aq (l) = isDefined(getInteger(this, k(l)))
132132
133133
134134 func ar (l) = if (aq(l))
135135 then {
136136 let p = J(k(l))
137137 $Tuple6(p, J(o(p)), J(q(p)), J(r(p)), J(s(p)), J(t(p)))
138138 }
139139 else unit
140140
141141
142142 func as (l) = valueOrErrorMessage(ar(l), (("User " + toString(l)) + " is not defined"))
143143
144144
145145 @Callable(G)
146146 func constructor (at,au,am,an,ao) = {
147147 let av = [F(G)]
148148 if ((av == av))
149149 then [StringEntry(e(), at), StringEntry(f(), au), IntegerEntry(g(), am), IntegerEntry(h(), an), IntegerEntry(i(), ao), IntegerEntry(j(), 0)]
150150 else throw("Strict value is not equal to itself.")
151151 }
152152
153153
154154
155155 @Callable(G)
156156 func lock (N) = {
157157 let aw = 1
158158 let ax = ai()
159159 let ak = ax._1
160160 let al = ax._2
161161 let am = ax._3
162162 let an = ax._4
163163 let ao = ax._5
164164 let ap = ax._6
165165 let ay = if ((size(G.payments) != aw))
166166 then throw("Invalid payments size")
167167 else true
168168 if ((ay == ay))
169169 then {
170170 let az = G.payments[0]
171171 let Q = az.amount
172172 let aA = (("Invalid asset. " + toBase58String(al)) + " is expected")
173173 let aB = valueOrErrorMessage(az.assetId, aA)
174174 let aC = if ((aB != al))
175175 then throw(aA)
176176 else true
177177 if ((aC == aC))
178178 then {
179179 let l = G.caller
180180 let aD = if (isDefined(scriptHash(l)))
181181 then throw("Address is scripted. Access denied")
182182 else true
183183 if ((aD == aD))
184184 then {
185185 let aE = ar(l)
186186 let aF = {
187187 let aG = aE
188188 if ($isInstanceOf(aG, "(Int, Int, Int, Int, Int, Int)"))
189189 then {
190190 let aH = aG
191191 $Tuple5(false, aH._1, aH._2, aH._3, aH._4)
192192 }
193193 else if ($isInstanceOf(aG, "Unit"))
194194 then $Tuple5(true, ap, 0, unit, unit)
195195 else throw("Match error")
196196 }
197197 let aI = aF._1
198198 let p = aF._2
199199 let aJ = aF._3
200200 let aK = aF._4
201201 let aL = aF._5
202202 let aM = [if ((aJ > 0))
203203 then {
204204 let aN = if (!(aI))
205205 then (height > (value(aK) + value(aL)))
206206 else false
207207 throw(("There is an active lock. Consider to use increaseLock" + (if (aN)
208208 then " or unlock"
209209 else "")))
210210 }
211211 else true, if ((am > Q))
212212 then throw(("Min lock amount is " + toString(am)))
213213 else true, if ((an > N))
214214 then throw((("Min lock duration is " + toString(an)) + " blocks"))
215215 else true, if ((N > ao))
216216 then throw((("Max lock duration is " + toString(ao)) + " blocks"))
217217 else true]
218218 if ((aM == aM))
219219 then {
220220 let aO = valueOrElse(getInteger(ak, E()), 0)
221221 let aP = height
222222 let aQ = P(Q, N, ao, aP)
223223 let T = aQ._1
224224 let U = aQ._2
225225 let aR = if (aI)
226226 then 1
227227 else 0
228228 ((([IntegerEntry(j(), (ap + aR)), IntegerEntry(k(l), p), StringEntry(m(p), toString(l))] ++ ah(p, Q, aP, N, T, U, aO)) ++ X("lock", l, G.transactionId, Q, aP, N, T, U)) ++ Y(Q, N, 1, 1))
229229 }
230230 else throw("Strict value is not equal to itself.")
231231 }
232232 else throw("Strict value is not equal to itself.")
233233 }
234234 else throw("Strict value is not equal to itself.")
235235 }
236236 else throw("Strict value is not equal to itself.")
237237 }
238238
239239
240240
241241 @Callable(G)
242242 func increaseLock (aS) = {
243243 let aT = 1
244244 let aH = ai()
245245 let aU = $Tuple4(aH._1, aH._2, aH._4, aH._5)
246246 let ak = aU._1
247247 let al = aU._2
248248 let an = aU._3
249249 let ao = aU._4
250250 let aV = size(G.payments)
251251 let ay = if ((aV > aT))
252252 then throw("Invalid payments size")
253253 else true
254254 if ((ay == ay))
255255 then {
256256 let aW = if ((aV == aT))
257257 then {
258258 let az = G.payments[0]
259259 let aA = (("Invalid asset. " + toBase58String(al)) + " is expected")
260260 let aB = valueOrErrorMessage(az.assetId, aA)
261261 let aC = if ((aB != al))
262262 then throw(aA)
263263 else true
264264 if ((aC == aC))
265265 then $Tuple2(az.amount, aB)
266266 else throw("Strict value is not equal to itself.")
267267 }
268268 else $Tuple2(0, unit)
269269 let Q = aW._1
270270 let aB = aW._2
271271 let l = G.caller
272272 let aD = if (isDefined(scriptHash(l)))
273273 then throw("Address is scripted. Access denied")
274274 else true
275275 if ((aD == aD))
276276 then {
277277 let aX = as(l)
278278 let aY = $Tuple4(aX._1, aX._2, aX._3, aX._4)
279279 let p = aY._1
280280 let aJ = aY._2
281281 let aP = aY._3
282282 let aZ = aY._4
283283 let ba = (aP + aZ)
284284 let bb = (aJ + Q)
285285 let bc = height
286286 let bd = (aS + max([0, (ba - bc)]))
287287 let be = [if ((0 > aS))
288288 then throw("Increase in duration is less then zero")
289289 else true, if ((an > bd))
290290 then throw((("Min lock duration is " + toString(an)) + " blocks"))
291291 else true, if ((bd > ao))
292292 then throw((("Max lock duration is " + toString(ao)) + " blocks"))
293293 else true]
294294 if ((be == be))
295295 then {
296296 let aO = valueOrElse(getInteger(ak, E()), 0)
297297 let bf = P(bb, bd, ao, bc)
298298 let bg = bf._1
299299 let bh = bf._2
300300 ((ah(p, bb, bc, bd, bg, bh, aO) ++ X("increaseLock", l, G.transactionId, bb, bc, bd, bg, bh)) ++ Y(Q, aS, 0, 0))
301301 }
302302 else throw("Strict value is not equal to itself.")
303303 }
304304 else throw("Strict value is not equal to itself.")
305305 }
306306 else throw("Strict value is not equal to itself.")
307307 }
308308
309309
310310
311311 @Callable(G)
312312 func unlock () = {
313313 let l = G.caller
314314 let aH = ai()
315315 let bi = $Tuple2(aH._1, aH._2)
316316 let ak = bi._1
317317 let al = bi._2
318318 let aX = as(l)
319319 let bj = $Tuple4(aX._1, aX._2, aX._3, aX._4)
320320 let p = bj._1
321321 let aJ = bj._2
322322 let aP = bj._3
323323 let aZ = bj._4
324324 let ba = (aP + aZ)
325325 let av = [if ((ba > height))
326326 then throw((("Wait " + toString((ba - height))) + " blocks to unlock"))
327327 else true, if ((0 >= aJ))
328328 then throw("Nothing to unlock")
329329 else true]
330330 if ((av == av))
331331 then {
332332 let aO = valueOrElse(getInteger(ak, E()), 0)
333333 (((ah(p, 0, aP, aZ, 0, 0, aO) ++ X("unlock", l, G.transactionId, aJ, aP, aZ, 0, 0)) ++ Y(-(aJ), 0, 0, -1)) :+ ScriptTransfer(l, aJ, al))
334334 }
335335 else throw("Strict value is not equal to itself.")
336336 }
337337
338338
339339
340340 @Callable(G)
341341 func gNsbtAmountREADONLY (bk) = {
342342 let l = addressFromStringValue(bk)
343343 if (aq(l))
344344 then {
345345 let aX = as(l)
346346 let bl = $Tuple2(aX._5, aX._6)
347347 let T = bl._1
348348 let U = bl._2
349- let bm = ((T * height) + U)
349+ let bm = (((T * height) + U) / c)
350350 $Tuple2(nil, bm)
351351 }
352352 else $Tuple2(nil, 0)
353353 }
354354
355355
356356
357357 @Callable(G)
358358 func startGNsbtAmountREADONLY (M,N) = {
359359 let O = ai()._5
360360 let bn = L(M, N, O)
361361 $Tuple2(nil, bn)
362362 }
363363
364364
365365
366366 @Callable(G)
367367 func paramsREADONLY () = {
368368 let aH = ai()
369369 $Tuple2(nil, [aH._3, aH._4, aH._5])
370370 }
371371
372372
373373
374374 @Callable(G)
375375 func lockParamsREADONLY (bk) = {
376376 let l = addressFromStringValue(bk)
377377 if (aq(l))
378378 then {
379379 let bo = as(l)
380380 let p = bo._1
381381 let Q = bo._2
382382 let W = bo._3
383383 let N = bo._4
384384 let T = bo._5
385385 let U = bo._6
386386 $Tuple2(nil, [p, Q, W, N, T, U])
387387 }
388388 else $Tuple2(nil, unit)
389389 }
390390
391391

github/deemru/w8io/169f3d6 
47.90 ms