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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eHRQZXJpb2QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANZ05zYnRDb250cmFjdAkBAAAADWtleU5leHRQZXJpb2QAAAAAAAAAAAAAAAAABAAAAAlsb2NrU3RhcnQFAAAABmhlaWdodAQAAAALJHQwOTAzMzkxMTkJAQAAABtnZXRTbG9wZUludGVyY2VwdEZvcm1QYXJhbXMAAAAEBQAAAAZhbW91bnQFAAAACGR1cmF0aW9uBQAAAA9tYXhMb2NrRHVyYXRpb24FAAAACWxvY2tTdGFydAQAAAABawgFAAAACyR0MDkwMzM5MTE5AAAAAl8xBAAAAAFiCAUAAAALJHQwOTAzMzkxMTkAAAACXzIEAAAADm5leHRVc2VyTnVtSW5jAwUAAAAJaXNOZXdVc2VyAAAAAAAAAAABAAAAAAAAAAAACQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOa2V5TmV4dFVzZXJOdW0AAAAACQAAZAAAAAIFAAAAC25leHRVc2VyTnVtBQAAAA5uZXh0VXNlck51bUluYwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEmtleVVzZXIyTnVtTWFwcGluZwAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAAd1c2VyTnVtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlOdW0yVXNlck1hcHBpbmcAAAABBQAAAAd1c2VyTnVtCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAANuaWwJAQAAAA9Mb2NrUGFyYW1zRW50cnkAAAAHBQAAAAd1c2VyTnVtBQAAAAZhbW91bnQFAAAACWxvY2tTdGFydAUAAAAIZHVyYXRpb24FAAAAAWsFAAAAAWIFAAAACm5leHRQZXJpb2QJAQAAABJIaXN0b3J5UmVjb3JkRW50cnkAAAAIAgAAAARsb2NrBQAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAGYW1vdW50BQAAAAlsb2NrU3RhcnQFAAAACGR1cmF0aW9uBQAAAAFrBQAAAAFiCQEAAAAKU3RhdHNFbnRyeQAAAAQFAAAABmFtb3VudAUAAAAIZHVyYXRpb24AAAAAAAAAAAEAAAAAAAAAAAEJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADGluY3JlYXNlTG9jawAAAAEAAAANZGVsdGFEdXJhdGlvbgQAAAAPcGF5bWVudHNNYXhTaXplAAAAAAAAAAABBAAAAAZwYXJhbXMJAQAAAA9nZXRQYXJhbXNPckZhaWwAAAAABAAAAAskdDA5NzE3OTgzMAkABRYAAAAECAUAAAAGcGFyYW1zAAAAAl8xCAUAAAAGcGFyYW1zAAAAAl8yCAUAAAAGcGFyYW1zAAAAAl80CAUAAAAGcGFyYW1zAAAAAl81BAAAAA1nTnNidENvbnRyYWN0CAUAAAALJHQwOTcxNzk4MzAAAAACXzEEAAAAC2JvbmRBc3NldElkCAUAAAALJHQwOTcxNzk4MzAAAAACXzIEAAAAD21pbkxvY2tEdXJhdGlvbggFAAAACyR0MDk3MTc5ODMwAAAAAl8zBAAAAA9tYXhMb2NrRHVyYXRpb24IBQAAAAskdDA5NzE3OTgzMAAAAAJfNAQAAAAMcGF5bWVudHNTaXplCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzBAAAABFjaGVja1BheW1lbnRzU2l6ZQMJAABmAAAAAgUAAAAMcGF5bWVudHNTaXplBQAAAA9wYXltZW50c01heFNpemUJAAACAAAAAQIAAAAVSW52YWxpZCBwYXltZW50cyBzaXplBgMJAAAAAAAAAgUAAAARY2hlY2tQYXltZW50c1NpemUFAAAAEWNoZWNrUGF5bWVudHNTaXplBAAAAAwkdDA5OTgzMTA0MjADCQAAAAAAAAIFAAAADHBheW1lbnRzU2l6ZQUAAAAPcGF5bWVudHNNYXhTaXplBAAAAAdwYXltZW50CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAABNpbnZhbGlkQXNzZXRNZXNzYWdlCQABLAAAAAIJAAEsAAAAAgIAAAAPSW52YWxpZCBhc3NldC4gCQACWAAAAAEFAAAAC2JvbmRBc3NldElkAgAAAAwgaXMgZXhwZWN0ZWQEAAAAB2Fzc2V0SWQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAATaW52YWxpZEFzc2V0TWVzc2FnZQQAAAAMY2hlY2tBc3NldElkAwkBAAAAAiE9AAAAAgUAAAAHYXNzZXRJZAUAAAALYm9uZEFzc2V0SWQJAAACAAAAAQUAAAATaW52YWxpZEFzc2V0TWVzc2FnZQYDCQAAAAAAAAIFAAAADGNoZWNrQXNzZXRJZAUAAAAMY2hlY2tBc3NldElkCQAFFAAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAAHYXNzZXRJZAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAUUAAAAAgAAAAAAAAAAAAUAAAAEdW5pdAQAAAAGYW1vdW50CAUAAAAMJHQwOTk4MzEwNDIwAAAAAl8xBAAAAAdhc3NldElkCAUAAAAMJHQwOTk4MzEwNDIwAAAAAl8yBAAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAAtjaGVja1NjcmlwdAMJAQAAAAlpc0RlZmluZWQAAAABCQAD8QAAAAEFAAAAC3VzZXJBZGRyZXNzCQAAAgAAAAECAAAAIkFkZHJlc3MgaXMgc2NyaXB0ZWQuIEFjY2VzcyBkZW5pZWQGAwkAAAAAAAACBQAAAAtjaGVja1NjcmlwdAUAAAALY2hlY2tTY3JpcHQEAAAACnVzZXJQYXJhbXMJAQAAABNnZXRVc2VyUGFyYW1zT3JGYWlsAAAAAQUAAAALdXNlckFkZHJlc3MEAAAADSR0MDEwNjMxMTA3NDQJAAUWAAAABAgFAAAACnVzZXJQYXJhbXMAAAACXzEIBQAAAAp1c2VyUGFyYW1zAAAAAl8yCAUAAAAKdXNlclBhcmFtcwAAAAJfMwgFAAAACnVzZXJQYXJhbXMAAAACXzQEAAAAB3VzZXJOdW0IBQAAAA0kdDAxMDYzMTEwNzQ0AAAAAl8xBAAAAApsb2NrQW1vdW50CAUAAAANJHQwMTA2MzExMDc0NAAAAAJfMgQAAAAJbG9ja1N0YXJ0CAUAAAANJHQwMTA2MzExMDc0NAAAAAJfMwQAAAAMbG9ja0R1cmF0aW9uCAUAAAANJHQwMTA2MzExMDc0NAAAAAJfNAQAAAAHbG9ja0VuZAkAAGQAAAACBQAAAAlsb2NrU3RhcnQFAAAADGxvY2tEdXJhdGlvbgQAAAAJbmV3QW1vdW50CQAAZAAAAAIFAAAACmxvY2tBbW91bnQFAAAABmFtb3VudAQAAAAMbmV3TG9ja1N0YXJ0BQAAAAZoZWlnaHQEAAAAD25ld0xvY2tEdXJhdGlvbgkAAGQAAAACBQAAAA1kZWx0YUR1cmF0aW9uCQABlgAAAAEJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACCQAAZQAAAAIFAAAAB2xvY2tFbmQFAAAADG5ld0xvY2tTdGFydAUAAAADbmlsBAAAAA1jaGVja0R1cmF0aW9uCQAETAAAAAIDCQAAZgAAAAIAAAAAAAAAAAAFAAAADWRlbHRhRHVyYXRpb24JAAACAAAAAQIAAAAmSW5jcmVhc2UgaW4gZHVyYXRpb24gaXMgbGVzcyB0aGVuIHplcm8GCQAETAAAAAIDCQAAZgAAAAIFAAAAD21pbkxvY2tEdXJhdGlvbgUAAAAPbmV3TG9ja0R1cmF0aW9uCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABVNaW4gbG9jayBkdXJhdGlvbiBpcyAJAAGkAAAAAQUAAAAPbWluTG9ja0R1cmF0aW9uAgAAAAcgYmxvY2tzBgkABEwAAAACAwkAAGYAAAACBQAAAA9uZXdMb2NrRHVyYXRpb24FAAAAD21heExvY2tEdXJhdGlvbgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAVTWF4IGxvY2sgZHVyYXRpb24gaXMgCQABpAAAAAEFAAAAD21heExvY2tEdXJhdGlvbgIAAAAHIGJsb2NrcwYFAAAAA25pbAMJAAAAAAAAAgUAAAANY2hlY2tEdXJhdGlvbgUAAAANY2hlY2tEdXJhdGlvbgQAAAAKbmV4dFBlcmlvZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1nTnNidENvbnRyYWN0CQEAAAANa2V5TmV4dFBlcmlvZAAAAAAAAAAAAAAAAAAEAAAADSR0MDExMzg4MTE0OTMJAQAAABtnZXRTbG9wZUludGVyY2VwdEZvcm1QYXJhbXMAAAAEBQAAAAluZXdBbW91bnQFAAAAD25ld0xvY2tEdXJhdGlvbgUAAAAPbWF4TG9ja0R1cmF0aW9uBQAAAAxuZXdMb2NrU3RhcnQEAAAABGtOZXcIBQAAAA0kdDAxMTM4ODExNDkzAAAAAl8xBAAAAARiTmV3CAUAAAANJHQwMTEzODgxMTQ5MwAAAAJfMgkABE4AAAACCQAETgAAAAIJAQAAAA9Mb2NrUGFyYW1zRW50cnkAAAAHBQAAAAd1c2VyTnVtBQAAAAluZXdBbW91bnQFAAAADG5ld0xvY2tTdGFydAUAAAAPbmV3TG9ja0R1cmF0aW9uBQAAAARrTmV3BQAAAARiTmV3BQAAAApuZXh0UGVyaW9kCQEAAAASSGlzdG9yeVJlY29yZEVudHJ5AAAACAIAAAAMaW5jcmVhc2VMb2NrBQAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAAJbmV3QW1vdW50BQAAAAxuZXdMb2NrU3RhcnQFAAAAD25ld0xvY2tEdXJhdGlvbgUAAAAEa05ldwUAAAAEYk5ldwkBAAAAClN0YXRzRW50cnkAAAAEBQAAAAZhbW91bnQFAAAADWRlbHRhRHVyYXRpb24AAAAAAAAAAAAAAAAAAAAAAAAJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAGdW5sb2NrAAAAAAQAAAALdXNlckFkZHJlc3MIBQAAAAFpAAAABmNhbGxlcgQAAAAGcGFyYW1zCQEAAAAPZ2V0UGFyYW1zT3JGYWlsAAAAAAQAAAANJHQwMTE4NjAxMTkxNwkABRQAAAACCAUAAAAGcGFyYW1zAAAAAl8xCAUAAAAGcGFyYW1zAAAAAl8yBAAAAA1nTnNidENvbnRyYWN0CAUAAAANJHQwMTE4NjAxMTkxNwAAAAJfMQQAAAALYm9uZEFzc2V0SWQIBQAAAA0kdDAxMTg2MDExOTE3AAAAAl8yBAAAAAp1c2VyUGFyYW1zCQEAAAATZ2V0VXNlclBhcmFtc09yRmFpbAAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA0kdDAxMTk3MzEyMDg2CQAFFgAAAAQIBQAAAAp1c2VyUGFyYW1zAAAAAl8xCAUAAAAKdXNlclBhcmFtcwAAAAJfMggFAAAACnVzZXJQYXJhbXMAAAACXzMIBQAAAAp1c2VyUGFyYW1zAAAAAl80BAAAAAd1c2VyTnVtCAUAAAANJHQwMTE5NzMxMjA4NgAAAAJfMQQAAAAKbG9ja0Ftb3VudAgFAAAADSR0MDExOTczMTIwODYAAAACXzIEAAAACWxvY2tTdGFydAgFAAAADSR0MDExOTczMTIwODYAAAACXzMEAAAADGxvY2tEdXJhdGlvbggFAAAADSR0MDExOTczMTIwODYAAAACXzQEAAAAB2xvY2tFbmQJAABkAAAAAgUAAAAJbG9ja1N0YXJ0BQAAAAxsb2NrRHVyYXRpb24EAAAABmNoZWNrcwkABEwAAAACAwkAAGYAAAACBQAAAAdsb2NrRW5kBQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAABVdhaXQgCQABpAAAAAEJAABlAAAAAgUAAAAHbG9ja0VuZAUAAAAGaGVpZ2h0AgAAABEgYmxvY2tzIHRvIHVubG9jawYJAARMAAAAAgMJAABnAAAAAgAAAAAAAAAAAAUAAAAKbG9ja0Ftb3VudAkAAAIAAAABAgAAABFOb3RoaW5nIHRvIHVubG9jawYFAAAAA25pbAMJAAAAAAAAAgUAAAAGY2hlY2tzBQAAAAZjaGVja3MEAAAACm5leHRQZXJpb2QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANZ05zYnRDb250cmFjdAkBAAAADWtleU5leHRQZXJpb2QAAAAAAAAAAAAAAAAACQAETQAAAAIJAAROAAAAAgkABE4AAAACCQEAAAAPTG9ja1BhcmFtc0VudHJ5AAAABwUAAAAHdXNlck51bQAAAAAAAAAAAAUAAAAJbG9ja1N0YXJ0BQAAAAxsb2NrRHVyYXRpb24AAAAAAAAAAAAAAAAAAAAAAAAFAAAACm5leHRQZXJpb2QJAQAAABJIaXN0b3J5UmVjb3JkRW50cnkAAAAIAgAAAAZ1bmxvY2sFAAAAC3VzZXJBZGRyZXNzCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAApsb2NrQW1vdW50BQAAAAlsb2NrU3RhcnQFAAAADGxvY2tEdXJhdGlvbgAAAAAAAAAAAAAAAAAAAAAAAAkBAAAAClN0YXRzRW50cnkAAAAECQEAAAABLQAAAAEFAAAACmxvY2tBbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAA//////////8JAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAApsb2NrQW1vdW50BQAAAAtib25kQXNzZXRJZAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAATZ05zYnRBbW91bnRSRUFET05MWQAAAAEAAAAOdXNlckFkZHJlc3NTdHIEAAAAC3VzZXJBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA51c2VyQWRkcmVzc1N0cgMJAQAAAAxpc1VzZXJFeGlzdHMAAAABBQAAAAt1c2VyQWRkcmVzcwQAAAAKdXNlclBhcmFtcwkBAAAAE2dldFVzZXJQYXJhbXNPckZhaWwAAAABBQAAAAt1c2VyQWRkcmVzcwQAAAANJHQwMTI5NjExMzAwNAkABRQAAAACCAUAAAAKdXNlclBhcmFtcwAAAAJfNQgFAAAACnVzZXJQYXJhbXMAAAACXzYEAAAAAWsIBQAAAA0kdDAxMjk2MTEzMDA0AAAAAl8xBAAAAAFiCAUAAAANJHQwMTI5NjExMzAwNAAAAAJfMgQAAAALZ05zYnRBbW91bnQJAABpAAAAAgkAAGQAAAACCQAAaAAAAAIFAAAAAWsFAAAABmhlaWdodAUAAAABYgUAAAAFU0NBTEUJAAUUAAAAAgUAAAADbmlsBQAAAAtnTnNidEFtb3VudAkABRQAAAACBQAAAANuaWwAAAAAAAAAAAAAAAABaQEAAAAYc3RhcnRHTnNidEFtb3VudFJFQURPTkxZAAAAAgAAAApuc2J0QW1vdW50AAAACGR1cmF0aW9uBAAAAAttYXhEdXJhdGlvbggJAQAAAA9nZXRQYXJhbXNPckZhaWwAAAAAAAAAAl81BAAAAAtzdGFydEFtb3VudAkBAAAAE2dldFN0YXJ0R05zYnRBbW91bnQAAAADBQAAAApuc2J0QW1vdW50BQAAAAhkdXJhdGlvbgUAAAALbWF4RHVyYXRpb24JAAUUAAAAAgUAAAADbmlsBQAAAAtzdGFydEFtb3VudAAAAAFpAQAAAA5wYXJhbXNSRUFET05MWQAAAAAEAAAABnBhcmFtcwkBAAAAD2dldFBhcmFtc09yRmFpbAAAAAAJAAUUAAAAAgUAAAADbmlsCQAETAAAAAIIBQAAAAZwYXJhbXMAAAACXzMJAARMAAAAAggFAAAABnBhcmFtcwAAAAJfNAkABEwAAAACCAUAAAAGcGFyYW1zAAAAAl81BQAAAANuaWwAAAABaQEAAAASbG9ja1BhcmFtc1JFQURPTkxZAAAAAQAAAA51c2VyQWRkcmVzc1N0cgQAAAALdXNlckFkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADnVzZXJBZGRyZXNzU3RyAwkBAAAADGlzVXNlckV4aXN0cwAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA0kdDAxMzgzNDEzOTE0CQEAAAATZ2V0VXNlclBhcmFtc09yRmFpbAAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAAd1c2VyTnVtCAUAAAANJHQwMTM4MzQxMzkxNAAAAAJfMQQAAAAGYW1vdW50CAUAAAANJHQwMTM4MzQxMzkxNAAAAAJfMgQAAAAFc3RhcnQIBQAAAA0kdDAxMzgzNDEzOTE0AAAAAl8zBAAAAAhkdXJhdGlvbggFAAAADSR0MDEzODM0MTM5MTQAAAACXzQEAAAAAWsIBQAAAA0kdDAxMzgzNDEzOTE0AAAAAl81BAAAAAFiCAUAAAANJHQwMTM4MzQxMzkxNAAAAAJfNgkABRQAAAACBQAAAANuaWwJAARMAAAAAgUAAAAHdXNlck51bQkABEwAAAACBQAAAAZhbW91bnQJAARMAAAAAgUAAAAFc3RhcnQJAARMAAAAAgUAAAAIZHVyYXRpb24JAARMAAAAAgUAAAABawkABEwAAAACBQAAAAFiBQAAAANuaWwJAAUUAAAAAgUAAAADbmlsBQAAAAR1bml0AAAAAP6t4OI=", "height": 1892991, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7uHxy7HiGNGjDWurVk8TPCUVvmCLLnpi1cVECXDWNqz1 Next: none Diff:
Old | New | Differences | |
---|---|---|---|
346 | 346 | let bl = $Tuple2(aX._5, aX._6) | |
347 | 347 | let T = bl._1 | |
348 | 348 | let U = bl._2 | |
349 | - | let bm = ((T * height) + U) | |
349 | + | let bm = (((T * height) + U) / c) | |
350 | 350 | $Tuple2(nil, bm) | |
351 | 351 | } | |
352 | 352 | else $Tuple2(nil, 0) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "" | |
5 | 5 | ||
6 | 6 | let b = "__" | |
7 | 7 | ||
8 | 8 | let c = 1000 | |
9 | 9 | ||
10 | 10 | func d () = "bond_asset_id" | |
11 | 11 | ||
12 | 12 | ||
13 | 13 | func e () = makeString(["%s", "neutrinoContractAddress"], b) | |
14 | 14 | ||
15 | 15 | ||
16 | 16 | func f () = makeString(["%s", "gNsbtContractAddress"], b) | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | func g () = makeString(["%s", "minLockAmount"], b) | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | func h () = makeString(["%s", "minLockDuration"], b) | |
23 | 23 | ||
24 | 24 | ||
25 | 25 | func i () = makeString(["%s", "maxLockDuration"], b) | |
26 | 26 | ||
27 | 27 | ||
28 | 28 | func j () = makeString(["%s", "nextUserNum"], b) | |
29 | 29 | ||
30 | 30 | ||
31 | 31 | func k (l) = makeString(["%s%s%s", "mapping", "user2num", toString(l)], b) | |
32 | 32 | ||
33 | 33 | ||
34 | 34 | func m (n) = makeString(["%s%s%s", "mapping", "num2user", toString(n)], b) | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | func o (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "amount"], b) | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | func q (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "start"], b) | |
41 | 41 | ||
42 | 42 | ||
43 | 43 | func r (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "duration"], b) | |
44 | 44 | ||
45 | 45 | ||
46 | 46 | func s (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "k"], b) | |
47 | 47 | ||
48 | 48 | ||
49 | 49 | func t (p) = makeString(["%s%d%s", "paramByUserNum", toString(p), "b"], b) | |
50 | 50 | ||
51 | 51 | ||
52 | 52 | func u (p,v) = makeString(["%s%d%s%d", "paramByPeriod", toString(p), "k", toString(v)], b) | |
53 | 53 | ||
54 | 54 | ||
55 | 55 | func w (p,v) = makeString(["%s%d%s%d", "paramByPeriod", toString(p), "b", toString(v)], b) | |
56 | 56 | ||
57 | 57 | ||
58 | 58 | func x (y,l,z) = makeString(["%s%s%s%s", "history", y, toString(l), toBase58String(z)], b) | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | func A () = makeString(["%s%s", "stats", "activeTotalLocked"], b) | |
62 | 62 | ||
63 | 63 | ||
64 | 64 | func B () = makeString(["%s%s", "stats", "locksDurationSumInBlocks"], b) | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | func C () = makeString(["%s%s", "stats", "locksCount"], b) | |
68 | 68 | ||
69 | 69 | ||
70 | 70 | func D () = makeString(["%s%s", "stats", "activeUsersCount"], b) | |
71 | 71 | ||
72 | 72 | ||
73 | 73 | func E () = makeString(["%s", "nextPeriod"], b) | |
74 | 74 | ||
75 | 75 | ||
76 | 76 | func F (G) = if ((G.caller != this)) | |
77 | 77 | then throw("Permission denied") | |
78 | 78 | else true | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | func H (I) = valueOrElse(getInteger(this, I), 0) | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | func J (I) = valueOrErrorMessage(getInteger(this, I), (("Mandatory this." + I) + " is not defined")) | |
85 | 85 | ||
86 | 86 | ||
87 | 87 | func K (I) = valueOrErrorMessage(getString(this, I), (("Mandatory this." + I) + " is not defined")) | |
88 | 88 | ||
89 | 89 | ||
90 | 90 | func L (M,N,O) = fraction(M, N, O) | |
91 | 91 | ||
92 | 92 | ||
93 | 93 | func P (Q,N,O,R) = { | |
94 | 94 | let S = (R + N) | |
95 | 95 | let T = -(fraction(Q, c, O)) | |
96 | 96 | let U = (-(T) * S) | |
97 | 97 | $Tuple2(T, U) | |
98 | 98 | } | |
99 | 99 | ||
100 | 100 | ||
101 | 101 | 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) | |
102 | 102 | ||
103 | 103 | ||
104 | 104 | func X (y,l,z,Q,W,N,T,U) = [StringEntry(x(y, l, z), V(Q, W, N, T, U))] | |
105 | 105 | ||
106 | 106 | ||
107 | 107 | func Y (Z,aa,ab,ac) = { | |
108 | 108 | let ad = H(B()) | |
109 | 109 | let ae = H(C()) | |
110 | 110 | let af = H(D()) | |
111 | 111 | let ag = H(A()) | |
112 | 112 | [IntegerEntry(B(), (ad + aa)), IntegerEntry(C(), (ae + ab)), IntegerEntry(D(), (af + ac)), IntegerEntry(A(), (ag + Z))] | |
113 | 113 | } | |
114 | 114 | ||
115 | 115 | ||
116 | 116 | 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)] | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func ai () = { | |
120 | 120 | let aj = addressFromStringValue(K(e())) | |
121 | 121 | let ak = addressFromStringValue(K(f())) | |
122 | 122 | let al = fromBase58String(getStringValue(aj, d())) | |
123 | 123 | let am = J(g()) | |
124 | 124 | let an = J(h()) | |
125 | 125 | let ao = J(i()) | |
126 | 126 | let ap = J(j()) | |
127 | 127 | $Tuple6(ak, al, am, an, ao, ap) | |
128 | 128 | } | |
129 | 129 | ||
130 | 130 | ||
131 | 131 | func aq (l) = isDefined(getInteger(this, k(l))) | |
132 | 132 | ||
133 | 133 | ||
134 | 134 | func ar (l) = if (aq(l)) | |
135 | 135 | then { | |
136 | 136 | let p = J(k(l)) | |
137 | 137 | $Tuple6(p, J(o(p)), J(q(p)), J(r(p)), J(s(p)), J(t(p))) | |
138 | 138 | } | |
139 | 139 | else unit | |
140 | 140 | ||
141 | 141 | ||
142 | 142 | func as (l) = valueOrErrorMessage(ar(l), (("User " + toString(l)) + " is not defined")) | |
143 | 143 | ||
144 | 144 | ||
145 | 145 | @Callable(G) | |
146 | 146 | func constructor (at,au,am,an,ao) = { | |
147 | 147 | let av = [F(G)] | |
148 | 148 | if ((av == av)) | |
149 | 149 | then [StringEntry(e(), at), StringEntry(f(), au), IntegerEntry(g(), am), IntegerEntry(h(), an), IntegerEntry(i(), ao), IntegerEntry(j(), 0)] | |
150 | 150 | else throw("Strict value is not equal to itself.") | |
151 | 151 | } | |
152 | 152 | ||
153 | 153 | ||
154 | 154 | ||
155 | 155 | @Callable(G) | |
156 | 156 | func lock (N) = { | |
157 | 157 | let aw = 1 | |
158 | 158 | let ax = ai() | |
159 | 159 | let ak = ax._1 | |
160 | 160 | let al = ax._2 | |
161 | 161 | let am = ax._3 | |
162 | 162 | let an = ax._4 | |
163 | 163 | let ao = ax._5 | |
164 | 164 | let ap = ax._6 | |
165 | 165 | let ay = if ((size(G.payments) != aw)) | |
166 | 166 | then throw("Invalid payments size") | |
167 | 167 | else true | |
168 | 168 | if ((ay == ay)) | |
169 | 169 | then { | |
170 | 170 | let az = G.payments[0] | |
171 | 171 | let Q = az.amount | |
172 | 172 | let aA = (("Invalid asset. " + toBase58String(al)) + " is expected") | |
173 | 173 | let aB = valueOrErrorMessage(az.assetId, aA) | |
174 | 174 | let aC = if ((aB != al)) | |
175 | 175 | then throw(aA) | |
176 | 176 | else true | |
177 | 177 | if ((aC == aC)) | |
178 | 178 | then { | |
179 | 179 | let l = G.caller | |
180 | 180 | let aD = if (isDefined(scriptHash(l))) | |
181 | 181 | then throw("Address is scripted. Access denied") | |
182 | 182 | else true | |
183 | 183 | if ((aD == aD)) | |
184 | 184 | then { | |
185 | 185 | let aE = ar(l) | |
186 | 186 | let aF = { | |
187 | 187 | let aG = aE | |
188 | 188 | if ($isInstanceOf(aG, "(Int, Int, Int, Int, Int, Int)")) | |
189 | 189 | then { | |
190 | 190 | let aH = aG | |
191 | 191 | $Tuple5(false, aH._1, aH._2, aH._3, aH._4) | |
192 | 192 | } | |
193 | 193 | else if ($isInstanceOf(aG, "Unit")) | |
194 | 194 | then $Tuple5(true, ap, 0, unit, unit) | |
195 | 195 | else throw("Match error") | |
196 | 196 | } | |
197 | 197 | let aI = aF._1 | |
198 | 198 | let p = aF._2 | |
199 | 199 | let aJ = aF._3 | |
200 | 200 | let aK = aF._4 | |
201 | 201 | let aL = aF._5 | |
202 | 202 | let aM = [if ((aJ > 0)) | |
203 | 203 | then { | |
204 | 204 | let aN = if (!(aI)) | |
205 | 205 | then (height > (value(aK) + value(aL))) | |
206 | 206 | else false | |
207 | 207 | throw(("There is an active lock. Consider to use increaseLock" + (if (aN) | |
208 | 208 | then " or unlock" | |
209 | 209 | else ""))) | |
210 | 210 | } | |
211 | 211 | else true, if ((am > Q)) | |
212 | 212 | then throw(("Min lock amount is " + toString(am))) | |
213 | 213 | else true, if ((an > N)) | |
214 | 214 | then throw((("Min lock duration is " + toString(an)) + " blocks")) | |
215 | 215 | else true, if ((N > ao)) | |
216 | 216 | then throw((("Max lock duration is " + toString(ao)) + " blocks")) | |
217 | 217 | else true] | |
218 | 218 | if ((aM == aM)) | |
219 | 219 | then { | |
220 | 220 | let aO = valueOrElse(getInteger(ak, E()), 0) | |
221 | 221 | let aP = height | |
222 | 222 | let aQ = P(Q, N, ao, aP) | |
223 | 223 | let T = aQ._1 | |
224 | 224 | let U = aQ._2 | |
225 | 225 | let aR = if (aI) | |
226 | 226 | then 1 | |
227 | 227 | else 0 | |
228 | 228 | ((([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)) | |
229 | 229 | } | |
230 | 230 | else throw("Strict value is not equal to itself.") | |
231 | 231 | } | |
232 | 232 | else throw("Strict value is not equal to itself.") | |
233 | 233 | } | |
234 | 234 | else throw("Strict value is not equal to itself.") | |
235 | 235 | } | |
236 | 236 | else throw("Strict value is not equal to itself.") | |
237 | 237 | } | |
238 | 238 | ||
239 | 239 | ||
240 | 240 | ||
241 | 241 | @Callable(G) | |
242 | 242 | func increaseLock (aS) = { | |
243 | 243 | let aT = 1 | |
244 | 244 | let aH = ai() | |
245 | 245 | let aU = $Tuple4(aH._1, aH._2, aH._4, aH._5) | |
246 | 246 | let ak = aU._1 | |
247 | 247 | let al = aU._2 | |
248 | 248 | let an = aU._3 | |
249 | 249 | let ao = aU._4 | |
250 | 250 | let aV = size(G.payments) | |
251 | 251 | let ay = if ((aV > aT)) | |
252 | 252 | then throw("Invalid payments size") | |
253 | 253 | else true | |
254 | 254 | if ((ay == ay)) | |
255 | 255 | then { | |
256 | 256 | let aW = if ((aV == aT)) | |
257 | 257 | then { | |
258 | 258 | let az = G.payments[0] | |
259 | 259 | let aA = (("Invalid asset. " + toBase58String(al)) + " is expected") | |
260 | 260 | let aB = valueOrErrorMessage(az.assetId, aA) | |
261 | 261 | let aC = if ((aB != al)) | |
262 | 262 | then throw(aA) | |
263 | 263 | else true | |
264 | 264 | if ((aC == aC)) | |
265 | 265 | then $Tuple2(az.amount, aB) | |
266 | 266 | else throw("Strict value is not equal to itself.") | |
267 | 267 | } | |
268 | 268 | else $Tuple2(0, unit) | |
269 | 269 | let Q = aW._1 | |
270 | 270 | let aB = aW._2 | |
271 | 271 | let l = G.caller | |
272 | 272 | let aD = if (isDefined(scriptHash(l))) | |
273 | 273 | then throw("Address is scripted. Access denied") | |
274 | 274 | else true | |
275 | 275 | if ((aD == aD)) | |
276 | 276 | then { | |
277 | 277 | let aX = as(l) | |
278 | 278 | let aY = $Tuple4(aX._1, aX._2, aX._3, aX._4) | |
279 | 279 | let p = aY._1 | |
280 | 280 | let aJ = aY._2 | |
281 | 281 | let aP = aY._3 | |
282 | 282 | let aZ = aY._4 | |
283 | 283 | let ba = (aP + aZ) | |
284 | 284 | let bb = (aJ + Q) | |
285 | 285 | let bc = height | |
286 | 286 | let bd = (aS + max([0, (ba - bc)])) | |
287 | 287 | let be = [if ((0 > aS)) | |
288 | 288 | then throw("Increase in duration is less then zero") | |
289 | 289 | else true, if ((an > bd)) | |
290 | 290 | then throw((("Min lock duration is " + toString(an)) + " blocks")) | |
291 | 291 | else true, if ((bd > ao)) | |
292 | 292 | then throw((("Max lock duration is " + toString(ao)) + " blocks")) | |
293 | 293 | else true] | |
294 | 294 | if ((be == be)) | |
295 | 295 | then { | |
296 | 296 | let aO = valueOrElse(getInteger(ak, E()), 0) | |
297 | 297 | let bf = P(bb, bd, ao, bc) | |
298 | 298 | let bg = bf._1 | |
299 | 299 | let bh = bf._2 | |
300 | 300 | ((ah(p, bb, bc, bd, bg, bh, aO) ++ X("increaseLock", l, G.transactionId, bb, bc, bd, bg, bh)) ++ Y(Q, aS, 0, 0)) | |
301 | 301 | } | |
302 | 302 | else throw("Strict value is not equal to itself.") | |
303 | 303 | } | |
304 | 304 | else throw("Strict value is not equal to itself.") | |
305 | 305 | } | |
306 | 306 | else throw("Strict value is not equal to itself.") | |
307 | 307 | } | |
308 | 308 | ||
309 | 309 | ||
310 | 310 | ||
311 | 311 | @Callable(G) | |
312 | 312 | func unlock () = { | |
313 | 313 | let l = G.caller | |
314 | 314 | let aH = ai() | |
315 | 315 | let bi = $Tuple2(aH._1, aH._2) | |
316 | 316 | let ak = bi._1 | |
317 | 317 | let al = bi._2 | |
318 | 318 | let aX = as(l) | |
319 | 319 | let bj = $Tuple4(aX._1, aX._2, aX._3, aX._4) | |
320 | 320 | let p = bj._1 | |
321 | 321 | let aJ = bj._2 | |
322 | 322 | let aP = bj._3 | |
323 | 323 | let aZ = bj._4 | |
324 | 324 | let ba = (aP + aZ) | |
325 | 325 | let av = [if ((ba > height)) | |
326 | 326 | then throw((("Wait " + toString((ba - height))) + " blocks to unlock")) | |
327 | 327 | else true, if ((0 >= aJ)) | |
328 | 328 | then throw("Nothing to unlock") | |
329 | 329 | else true] | |
330 | 330 | if ((av == av)) | |
331 | 331 | then { | |
332 | 332 | let aO = valueOrElse(getInteger(ak, E()), 0) | |
333 | 333 | (((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)) | |
334 | 334 | } | |
335 | 335 | else throw("Strict value is not equal to itself.") | |
336 | 336 | } | |
337 | 337 | ||
338 | 338 | ||
339 | 339 | ||
340 | 340 | @Callable(G) | |
341 | 341 | func gNsbtAmountREADONLY (bk) = { | |
342 | 342 | let l = addressFromStringValue(bk) | |
343 | 343 | if (aq(l)) | |
344 | 344 | then { | |
345 | 345 | let aX = as(l) | |
346 | 346 | let bl = $Tuple2(aX._5, aX._6) | |
347 | 347 | let T = bl._1 | |
348 | 348 | let U = bl._2 | |
349 | - | let bm = ((T * height) + U) | |
349 | + | let bm = (((T * height) + U) / c) | |
350 | 350 | $Tuple2(nil, bm) | |
351 | 351 | } | |
352 | 352 | else $Tuple2(nil, 0) | |
353 | 353 | } | |
354 | 354 | ||
355 | 355 | ||
356 | 356 | ||
357 | 357 | @Callable(G) | |
358 | 358 | func startGNsbtAmountREADONLY (M,N) = { | |
359 | 359 | let O = ai()._5 | |
360 | 360 | let bn = L(M, N, O) | |
361 | 361 | $Tuple2(nil, bn) | |
362 | 362 | } | |
363 | 363 | ||
364 | 364 | ||
365 | 365 | ||
366 | 366 | @Callable(G) | |
367 | 367 | func paramsREADONLY () = { | |
368 | 368 | let aH = ai() | |
369 | 369 | $Tuple2(nil, [aH._3, aH._4, aH._5]) | |
370 | 370 | } | |
371 | 371 | ||
372 | 372 | ||
373 | 373 | ||
374 | 374 | @Callable(G) | |
375 | 375 | func lockParamsREADONLY (bk) = { | |
376 | 376 | let l = addressFromStringValue(bk) | |
377 | 377 | if (aq(l)) | |
378 | 378 | then { | |
379 | 379 | let bo = as(l) | |
380 | 380 | let p = bo._1 | |
381 | 381 | let Q = bo._2 | |
382 | 382 | let W = bo._3 | |
383 | 383 | let N = bo._4 | |
384 | 384 | let T = bo._5 | |
385 | 385 | let U = bo._6 | |
386 | 386 | $Tuple2(nil, [p, Q, W, N, T, U]) | |
387 | 387 | } | |
388 | 388 | else $Tuple2(nil, unit) | |
389 | 389 | } | |
390 | 390 | ||
391 | 391 |
github/deemru/w8io/169f3d6 47.90 ms ◑