tx · 48jxFccffbmSKW9d4D41YaqtCzjYwxq5e3RAe9ZBVk52 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU: -0.14000000 Waves 2022.06.01 14:55 [2077249] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves
{ "type": 13, "id": "48jxFccffbmSKW9d4D41YaqtCzjYwxq5e3RAe9ZBVk52", "fee": 14000000, "feeAssetId": null, "timestamp": 1654084565614, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "Vae8SnHMXp9gSRHBYY9s2dLUyVbZQgSrVXstgPuhKh2Q6dN7Y6dtD1Cj7VBhE5WLpzW1p5K5Db4yMoAxgxdsSUx", "4X7fhjpzL4DUS9KrM1Uqvte2X6s5gLuQ2yCahQ824Vs56dy9BRBnue8jqssvsXDAkR8GJZ5mnBEoYwh6D58g9qrY" ], "script": "base64:AAIFAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABjAAAAAAdrQWN0aXZlAgAAAAZhY3RpdmUAAAAABmtDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADWtMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAEWtVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAPa1VzZXJTV09QTG9ja2VkAgAAAAxfU1dPUF9hbW91bnQAAAAAEmtVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEGtUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAVa1VzZXJWb3RlT3B0aW9uQW1vdW50AgAAABNfU1dPUF9vcHRpb25fYW1vdW50AAAAABZrVG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAIAAAAZX1NXT1BfbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAAJa1ZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAAC2tPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAEmtWb3RpbmdTdGFydEhlaWdodAIAAAAMX3N0YXJ0SGVpZ2h0AAAAAA1rVm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAaa1Jld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABtrUmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAAHl9wcmV2aW91c19wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAATa0hlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAG2tUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAABxrVG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAB90b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX3ByZXZpb3VzAAAAABNrUmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAia1Jld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAATa05vVm90aW5nRm9yTmV3UG9vbAIAAAAIX3ZvdGVfbm8AAAAAFGtZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAGWtBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABlrU3RhdHVzT2ZWb3RpbmdGb3JOZXdQb29sAgAAAAdfc3RhdHVzAAAAAB1rSGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAAtrVGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAABdrTGF1bmNocGFkQm91Z2h0VGlja2V0cwIAAAAPX2JvdWdodF90aWNrZXRzAAAAABhrTGF1bmNocGFkU3dvcFBlclRpY2tldHMCAAAAEF9zd29wX3Blcl90aWNrZXQAAAAAEmtMYXVuY2hwYWRBY3RpdmVJZAIAAAATbGF1bmNocGFkX2FjdGl2ZV9pZAAAAAASa0xhdW5jaHBhZER1cmF0aW9uAgAAAAlfZHVyYXRpb24AAAAAFWtMYXVuY2hwYWRTdGFydEhlaWdodAIAAAANX3N0YXJ0X2hlaWdodAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAaa0xhdWNocGFkRnJlZXpTd29wRHVyYXRpb24CAAAAFV9mcmVlemVfc3dvcF9kdXJhdGlvbgAAAAAHa1NXT1BpZAIAAAAHU1dPUF9pZAAAAAALa0FpcmRyb3BGZWUCAAAAC2FpcmRyb3BfZmVlAAAAAA1rQWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAANa0FkbWluUHViS2V5MgIAAAALYWRtaW5fcHViXzIAAAAADWtBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAA9rTW9uZXlCb3hQdWJLZXkCAAAAEW1vbmV5X2JveF9wdWJfa2V5AAAAAAxrRmFybWluZ0FkZHICAAAAD2Zhcm1pbmdfYWRkcmVzcwAAAAALa1ZvdGluZ0FkZHICAAAADnZvdGluZ19hZGRyZXNzAAAAABJrVm90aW5nTmV3UG9vbEFkZHICAAAAF3ZvdGluZ19uZXdfcG9vbF9hZGRyZXNzAAAAAA5rTGF1bmNocGFkQWRkcgIAAAARbGF1bmNocGFkX2FkZHJlc3MAAAAAFGtBaXJkcm9wTW9uZXlCb3hBZGRyAgAAABVhaXJkcm9wX2ZlZV9tb25leV9ib3gAAAAABm9yYWNsZQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOlFqh6QLzqu8boO5i6akl8amITh82KzCAEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQkAASwAAAACBQAAAANrZXkCAAAACGlzIGVtcHR5AAAAAAxhZG1pblB1YktleTEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAANa0FkbWluUHViS2V5MQAAAAAMYWRtaW5QdWJLZXkyCQEAAAATZ2V0QmFzZTU4RnJvbU9yYWNsZQAAAAEFAAAADWtBZG1pblB1YktleTIAAAAADGFkbWluUHViS2V5MwkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA1rQWRtaW5QdWJLZXkzAAAAAA5tb25leUJveFB1YktleQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAAA9rTW9uZXlCb3hQdWJLZXkAAAAAC2Zhcm1pbmdBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAAMa0Zhcm1pbmdBZGRyAAAAAAp2b3RpbmdBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAALa1ZvdGluZ0FkZHIAAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAASa1ZvdGluZ05ld1Bvb2xBZGRyAAAAAA1sYXVuY2hwYWRBZGRyCQEAAAAHQWRkcmVzcwAAAAEJAQAAABNnZXRCYXNlNThGcm9tT3JhY2xlAAAAAQUAAAAOa0xhdW5jaHBhZEFkZHIAAAAAE2FpcmRyb3BNb25leUJveEFkZHIJAQAAAAdBZGRyZXNzAAAAAQkBAAAAE2dldEJhc2U1OEZyb21PcmFjbGUAAAABBQAAABRrQWlyZHJvcE1vbmV5Qm94QWRkcgAAAAAEU1dPUAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAtmYXJtaW5nQWRkcgUAAAAHa1NXT1BpZAAAAAAKc2NhbGVWYWx1ZQAAAAAABfXhAAAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAACmJhc2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAp2b3RpbmdBZGRyBQAAAAtrQmFzZVBlcmlvZAIAAAAkRW1wdHkga0Jhc2VQZXJpb2QgYXQgdm90aW5nIGNvbnRyYWN0AAAAAAtzdGFydEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAACnZvdGluZ0FkZHIFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAKdm90aW5nQWRkcgUAAAANa1BlcmlvZExlbmd0aAIAAAAmRW1wdHkga1BlcmlvZExlbmd0aCBhdCB2b3RpbmcgY29udHJhY3QAAAAAD2ZpcnN0QWN0aXZlVm90ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAABF2b3RpbmdOZXdQb29sQWRkcgUAAAAPYWN0aXZlVm90ZUZpcnN0AgAAAAAAAAAAEHNlY29uZEFjdGl2ZVZvdGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyBQAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAAAAAAAAIaXNBY3RpdmUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAAHa0FjdGl2ZQYAAAAACmFpcmRyb3BGZWUJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABm9yYWNsZQUAAAALa0FpcmRyb3BGZWUAAAAAEGN1cnJWb3RpbmdQZXJpb2QJAABkAAAAAgUAAAAKYmFzZVBlcmlvZAkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAADHBlcmlvZExlbmd0aAEAAAAHc3VzcGVuZAAAAAEAAAAFY2F1c2UJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAB2tBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAABmtDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QTG9ja2VkIC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rTGFzdEludGVyZXN0AAAAAAAAAAAAAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJTV09QTG9ja2VkAAAAAAAAAAAAAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrVXNlckxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUFAAAADnVzZXJTV09QQW1vdW50AQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIAAAAEcG9vbAAAAAR1c2VyBAAAAAZ2b3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAAB1rSGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAGWtTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wGBAAAAA1jdXJyZW50SGVpZ2h0BQAAAAZoZWlnaHQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABnZvdGluZwAAAAAAAAAAAAMJAQAAAAEhAAAAAQUAAAAOc3RhdHVzT2ZWb3RpbmcAAAAAAAAAAAADCQAAZgAAAAIFAAAADmhlaWdodE9mVm90aW5nBQAAAA1jdXJyZW50SGVpZ2h0CQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARdm90aW5nTmV3UG9vbEFkZHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFGtZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEXZvdGluZ05ld1Bvb2xBZGRyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABNrTm9Wb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAAAAAAAAAAAAAAAQAAACBnZXRVc2VyVG90YWxWb3RlRm9yTmV3UG9vbEFtb3VudAAAAAEAAAAEdXNlcgQAAAAMbGlzdE9mVm90aW5nCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD2ZpcnN0QWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAABBzZWNvbmRBY3RpdmVWb3RlBQAAAAR1c2VyCQAETAAAAAIJAQAAACBnZXRVc2VyVG90YWxWb3RlQW1vdW50Rm9yT25lUG9vbAAAAAIFAAAAD3RoaXJkQWN0aXZlVm90ZQUAAAAEdXNlcgUAAAADbmlsCQABlgAAAAEFAAAADGxpc3RPZlZvdGluZwEAAAAYZ2V0VXNlckJsb2NrZWRJbkxhdWNocGFkAAAAAQAAAAR1c2VyBAAAAApsYXVjaHBhZElkCQABpAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgUAAAASa0xhdW5jaHBhZEFjdGl2ZUlkAAAAAAAAAAAAAwkAAAAAAAACBQAAAApsYXVjaHBhZElkAgAAAAEwAAAAAAAAAAAABAAAAAxsU3RhcnRIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgkAASwAAAACBQAAAApsYXVjaHBhZElkBQAAABVrTGF1bmNocGFkU3RhcnRIZWlnaHQAAAAAAAAAAAAEAAAACWxEdXJhdGlvbgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1sYXVuY2hwYWRBZGRyCQABLAAAAAIFAAAACmxhdWNocGFkSWQFAAAAEmtMYXVuY2hwYWREdXJhdGlvbgAAAAAAAAAAAAQAAAATbEZyZWV6ZVN3b3BEdXJhdGlvbgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAA1sYXVuY2hwYWRBZGRyCQABLAAAAAIFAAAACmxhdWNocGFkSWQFAAAAGmtMYXVjaHBhZEZyZWV6U3dvcER1cmF0aW9uAAAAAAAAAAAABAAAAA5ibG9ja0VuZEhlaWdodAkAAGQAAAACCQAAZAAAAAIFAAAADGxTdGFydEhlaWdodAUAAAAJbER1cmF0aW9uBQAAABNsRnJlZXplU3dvcER1cmF0aW9uAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAADmJsb2NrRW5kSGVpZ2h0AAAAAAAAAAAABAAAAA1ib3VnaHRUaWNrZXRzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAADWxhdW5jaHBhZEFkZHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwUAAAAKbGF1Y2hwYWRJZAUAAAAXa0xhdW5jaHBhZEJvdWdodFRpY2tldHMAAAAAAAAAAAAEAAAADXN3b3BQZXJUaWNrZXQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAANbGF1bmNocGFkQWRkcgkAASwAAAACBQAAAApsYXVjaHBhZElkBQAAABhrTGF1bmNocGFkU3dvcFBlclRpY2tldHMAAAAAAAAAAAAJAABoAAAAAgUAAAANYm91Z2h0VGlja2V0cwUAAAANc3dvcFBlclRpY2tldAEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABBrVG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDc1ODI4MTE1AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwQAAAAEZGF0YQkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAKdm90aW5nQWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAD2tVc2VyVG90YWxTdHJ1YwIAAAAVRW1wdHkga1VzZXJUb3RhbFN0cnVjAgAAAAFfCQAFFQAAAAMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAAACQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAIEAAAADnVQb29sVG90YWxTV09QCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAACnZvdGluZ0FkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNzU4MjgxMTUAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNzU4MjgxMTUAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNzU4MjgxMTUAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAVa1VzZXJWb3RlT3B0aW9uQW1vdW50AAAAAAAAAAAAAQAAABRnZXRWb3RpbmdTdGFydEhlaWdodAAAAAEAAAAIdm90ZU5hbWUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAASa1ZvdGluZ1N0YXJ0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ABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAQYWlyZHJvcEZlZUFtb3VudAkBAAAACGZyYWN0aW9uAAAABAUAAAAJcG10QW1vdW50BQAAAAphaXJkcm9wRmVlAAAAAAAAAABkBQAAAAdDRUlMSU5HBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALaW50ZXJlc3ROZXcJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMJAABlAAAAAgUAAAAJcG10QW1vdW50BQAAABBhaXJkcm9wRmVlQW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtMYXN0SW50ZXJlc3QFAAAAC2ludGVyZXN0TmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE2FpcmRyb3BNb25leUJveEFkZHIFAAAAEGFpcmRyb3BGZWVBbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADSR0MDExNTU4MTE2MzMJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAA0kdDAxMTU1ODExNjMzAAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAANJHQwMTE1NTgxMTYzMwAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMTc0OTExODMzCQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAANJHQwMTE3NDkxMTgzMwAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAA0kdDAxMTc0OTExODMzAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD2tVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAWa1VzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGmtVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDEyOTc0MTMwMjkJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyOTc0MTMwMjkAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI5NzQxMzAyOQAAAAJfMgQAAAANJHQwMTMwMzQxMzA5OQkBAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMzAzNDEzMDk5AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTMwMzQxMzA5OQAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEmJsb2NrZWRJbkxhdW5jaHBhZAkBAAAAGGdldFVzZXJCbG9ja2VkSW5MYXVjaHBhZAAAAAEIBQAAAAFpAAAABmNhbGxlcgMDAwkAAGYAAAACAAAAAAAAAAAABQAAABB1c2VyVW52b3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAAA51c2VyVm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAAAgAAAAECAAAASnVzZXJVbnZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wgPCAwBAAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAABlAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQJAAGWAAAAAQkABEwAAAACBQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAARMAAAAAgkAAGQAAAACBQAAAA51c2VyVm90ZUFtb3VudAUAAAAQdXNlclVudm90ZUFtb3VudAkABEwAAAACBQAAABJibG9ja2VkSW5MYXVuY2hwYWQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa1VzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPa1VzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa1RvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAABRjbGFpbUFuZFdpdGhkcmF3U1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxNDU0OTE0NjA0CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxNDU0OTE0NjA0AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDE0NTQ5MTQ2MDQAAAACXzIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFmtVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABprVXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAOdXNlclNXT1BMb2NrZWQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDE1Mzc3MTU0MzIJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE1Mzc3MTU0MzIAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTUzNzcxNTQzMgAAAAJfMgQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa1VzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa1RvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9rVXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZrVXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAaa1VzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAQAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAATa1Jld2FyZFVwZGF0ZUhlaWdodAAAAAAAAAAAAAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAObW9uZXlCb3hQdWJLZXkFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAHGhlaWdodCA+PSByZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABgwID49IHJld2FyZFVwZGF0ZUhlaWdodCAKAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwMJAQAAAAEhAAAAAQkBAAAAGGlzRGVmaW5lUG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wGAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQFAAAAF3RvdGFsUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAG2tSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQEAAAACnBvb2xSZXdhcmQJAQAAABFnZXRQcmV2UG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAba1Jld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAGmtSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAApwb29sSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAATa0hlaWdodFBvb2xGcmFjdGlvbgUAAAAKcG9vbEhlaWdodAUAAAALYWNjdW11bGF0ZWQKAQAAAAxnZXRTdW1SZXdhcmQAAAACAAAACmN1clRlbXBTdW0AAAAKcGFnaW5hdGlvbgMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAAMJAABmAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC2tUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAImtSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAABBAAAABFjdXJUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAAtrVGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAia1Jld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5AwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAtrVGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMF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AAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgQAAAANJHQwMjA1MjcyMDYzOAkBAAAADGdldFN1bVJld2FyZAAAAAIFAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBQAAAApwYWdpbmF0aW9uBAAAABBzdW1SZXdhcmRDdXJyZW50CAUAAAANJHQwMjA1MjcyMDYzOAAAAAJfMQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkIBQAAAA0kdDAyMDUyNzIwNjM4AAAAAl8yBAAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa1Jld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwFAAAAA25pbAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0CQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BQAAABFoZWlnaHRFbnRyeU5ld0N1cgUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAABmtDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAB2tBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABmtDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAASYWRtaW5QdWJLZXkxU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAFAAAADGFkbWluUHViS2V5MQAAAAAAAAAAAQAAAAAAAAAAAAQAAAASYWRtaW5QdWJLZXkyU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAADGFkbWluUHViS2V5MgAAAAAAAAAAAQAAAAAAAAAAAAQAAAASYWRtaW5QdWJLZXkzU2lnbmVkAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAADGFkbWluUHViS2V5MwAAAAAAAAAAAQAAAAAAAAAAAAkAAGcAAAACCQAAZAAAAAIJAABkAAAAAgUAAAASYWRtaW5QdWJLZXkxU2lnbmVkBQAAABJhZG1pblB1YktleTJTaWduZWQFAAAAEmFkbWluUHViS2V5M1NpZ25lZAAAAAAAAAAAAja/C7E=", "height": 2077249, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BK85gobj8wBzT2CrcHBtSAJKQpZxLc7Bs5EsRzcN3RaP Next: AE4HGsdfNDt436j1aDSNi5CQ14odP5CnEQD2gxNFJi6 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = "active" | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = "shutdown_cause" | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = "last_interest" | |
9 | 9 | ||
10 | - | let d = | |
10 | + | let d = "_last_interest" | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = "_SWOP_amount" | |
13 | 13 | ||
14 | - | let f = " | |
14 | + | let f = "_getBackHeight" | |
15 | 15 | ||
16 | - | let g = " | |
16 | + | let g = "total_SWOP_amount" | |
17 | 17 | ||
18 | - | let h = " | |
18 | + | let h = "_user_total_SWOP_vote" | |
19 | 19 | ||
20 | - | let i = "_ | |
20 | + | let i = "_SWOP_option_amount" | |
21 | 21 | ||
22 | - | let j = "_SWOP_amount" | |
22 | + | let j = "total_SWOP_option_amount" | |
23 | 23 | ||
24 | - | let k = "_ | |
24 | + | let k = "_SWOP_claimed_amount" | |
25 | 25 | ||
26 | - | let l = " | |
26 | + | let l = "_SWOP_last_claimed_amount" | |
27 | 27 | ||
28 | - | let m = "_ | |
28 | + | let m = "vote_name" | |
29 | 29 | ||
30 | - | let n = "_ | |
30 | + | let n = "_option_name" | |
31 | 31 | ||
32 | - | let o = " | |
32 | + | let o = "_startHeight" | |
33 | 33 | ||
34 | - | let p = "_ | |
34 | + | let p = "_vote_duration" | |
35 | 35 | ||
36 | - | let q = "_ | |
36 | + | let q = "_current_pool_fraction_reward" | |
37 | 37 | ||
38 | - | let r = " | |
38 | + | let r = "_previous_pool_fraction_reward" | |
39 | 39 | ||
40 | - | let s = "_ | |
40 | + | let s = "_pool_reward_update_height" | |
41 | 41 | ||
42 | - | let t = "_ | |
42 | + | let t = "total_reward_per_block_current" | |
43 | 43 | ||
44 | - | let u = "_ | |
44 | + | let u = "total_reward_per_block_previous" | |
45 | 45 | ||
46 | - | let v = "_ | |
46 | + | let v = "reward_update_height" | |
47 | 47 | ||
48 | - | let w = "_ | |
48 | + | let w = "reward_update_height_first_pagination" | |
49 | 49 | ||
50 | - | let x = "_ | |
50 | + | let x = "_vote_no" | |
51 | 51 | ||
52 | - | let y = " | |
52 | + | let y = "_vote_yes" | |
53 | 53 | ||
54 | - | let z = " | |
54 | + | let z = "max_amount_voting" | |
55 | 55 | ||
56 | - | let A = " | |
56 | + | let A = "_status" | |
57 | 57 | ||
58 | - | let B = " | |
58 | + | let B = "_finish_height" | |
59 | 59 | ||
60 | - | let C = "_ | |
60 | + | let C = "voting_active_cell_1" | |
61 | 61 | ||
62 | - | let D = "_ | |
62 | + | let D = "voting_active_cell_2" | |
63 | 63 | ||
64 | - | let E = " | |
64 | + | let E = "voting_active_cell_3" | |
65 | 65 | ||
66 | - | let F = "_ | |
66 | + | let F = "sum_reward_current" | |
67 | 67 | ||
68 | - | let G = "_ | |
68 | + | let G = "_bought_tickets" | |
69 | 69 | ||
70 | - | let H = " | |
70 | + | let H = "_swop_per_ticket" | |
71 | 71 | ||
72 | - | let I = " | |
72 | + | let I = "launchpad_active_id" | |
73 | 73 | ||
74 | - | let J = " | |
74 | + | let J = "_duration" | |
75 | 75 | ||
76 | - | let K = " | |
76 | + | let K = "_start_height" | |
77 | 77 | ||
78 | - | let L = "_ | |
78 | + | let L = "start_height" | |
79 | 79 | ||
80 | - | let M = "_ | |
80 | + | let M = "base_period" | |
81 | 81 | ||
82 | - | let N = " | |
82 | + | let N = "period_length" | |
83 | 83 | ||
84 | - | let O = "_ | |
84 | + | let O = "_user_total_struc" | |
85 | 85 | ||
86 | - | let P = "_ | |
86 | + | let P = "_freeze_swop_duration" | |
87 | 87 | ||
88 | - | let Q = "_ | |
88 | + | let Q = "SWOP_id" | |
89 | 89 | ||
90 | - | let R = | |
90 | + | let R = "airdrop_fee" | |
91 | 91 | ||
92 | - | let S = | |
92 | + | let S = "admin_pub_1" | |
93 | 93 | ||
94 | - | let T = | |
94 | + | let T = "admin_pub_2" | |
95 | 95 | ||
96 | - | let U = | |
96 | + | let U = "admin_pub_3" | |
97 | 97 | ||
98 | - | let V = | |
98 | + | let V = "money_box_pub_key" | |
99 | 99 | ||
100 | - | let W = " | |
100 | + | let W = "farming_address" | |
101 | 101 | ||
102 | - | let X = | |
102 | + | let X = "voting_address" | |
103 | 103 | ||
104 | - | let Y = | |
104 | + | let Y = "voting_new_pool_address" | |
105 | 105 | ||
106 | - | let Z = | |
106 | + | let Z = "launchpad_address" | |
107 | 107 | ||
108 | - | let aa = " | |
108 | + | let aa = "airdrop_fee_money_box" | |
109 | 109 | ||
110 | - | let ab = | |
110 | + | let ab = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9') | |
111 | 111 | ||
112 | - | let ac = "period_length" | |
113 | - | ||
114 | - | let ad = "_user_total_struc" | |
115 | - | ||
116 | - | let ae = valueOrErrorMessage(getInteger(T, ab), "Empty kBasePeriod at voting contract") | |
117 | - | ||
118 | - | let af = valueOrErrorMessage(getInteger(T, aa), "Empty kStartHeight at voting contract") | |
119 | - | ||
120 | - | let ag = valueOrErrorMessage(getInteger(T, ac), "Empty kPeriodLength at voting contract") | |
121 | - | ||
122 | - | let ah = valueOrElse(getString(U, H), "") | |
123 | - | ||
124 | - | let ai = valueOrElse(getString(U, I), "") | |
125 | - | ||
126 | - | let aj = valueOrElse(getString(U, J), "") | |
127 | - | ||
128 | - | let ak = (ae + ((height - af) / ag)) | |
129 | - | ||
130 | - | func al (am) = [BooleanEntry(f, false), StringEntry(g, am)] | |
131 | - | ||
132 | - | ||
133 | - | func an () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount") | |
134 | - | ||
135 | - | ||
136 | - | func ao () = { | |
137 | - | let ap = valueOrElse(getInteger(this, h), 0) | |
138 | - | ap | |
112 | + | func ac (ad) = { | |
113 | + | let ae = getString(ab, ad) | |
114 | + | if ($isInstanceOf(ae, "String")) | |
115 | + | then { | |
116 | + | let af = ae | |
117 | + | fromBase58String(af) | |
118 | + | } | |
119 | + | else { | |
120 | + | let ag = ae | |
121 | + | throw((ad + "is empty")) | |
122 | + | } | |
139 | 123 | } | |
140 | 124 | ||
141 | 125 | ||
142 | - | func aq (ar) = valueOrElse(getInteger(this, (toString(ar) + j)), 0) | |
126 | + | let ah = ac(S) | |
127 | + | ||
128 | + | let ai = ac(T) | |
129 | + | ||
130 | + | let aj = ac(U) | |
131 | + | ||
132 | + | let ak = ac(V) | |
133 | + | ||
134 | + | let al = Address(ac(W)) | |
135 | + | ||
136 | + | let am = Address(ac(X)) | |
137 | + | ||
138 | + | let an = Address(ac(Y)) | |
139 | + | ||
140 | + | let ao = Address(ac(Z)) | |
141 | + | ||
142 | + | let ap = Address(ac(aa)) | |
143 | + | ||
144 | + | let aq = fromBase58String(getStringValue(al, Q)) | |
145 | + | ||
146 | + | let ar = 100000000 | |
147 | + | ||
148 | + | let as = 10000000000 | |
149 | + | ||
150 | + | let at = valueOrErrorMessage(getInteger(am, M), "Empty kBasePeriod at voting contract") | |
151 | + | ||
152 | + | let au = valueOrErrorMessage(getInteger(am, L), "Empty kStartHeight at voting contract") | |
153 | + | ||
154 | + | let av = valueOrErrorMessage(getInteger(am, N), "Empty kPeriodLength at voting contract") | |
155 | + | ||
156 | + | let aw = valueOrElse(getString(an, C), "") | |
157 | + | ||
158 | + | let ax = valueOrElse(getString(an, D), "") | |
159 | + | ||
160 | + | let ay = valueOrElse(getString(an, E), "") | |
161 | + | ||
162 | + | let az = valueOrElse(getBoolean(this, a), true) | |
163 | + | ||
164 | + | let aA = getIntegerValue(ab, R) | |
165 | + | ||
166 | + | let aB = (at + ((height - au) / av)) | |
167 | + | ||
168 | + | func aC (aD) = [BooleanEntry(a, false), StringEntry(b, aD)] | |
143 | 169 | ||
144 | 170 | ||
145 | - | func | |
171 | + | func aE () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount") | |
146 | 172 | ||
147 | 173 | ||
148 | - | func | |
174 | + | func aF () = valueOrElse(getInteger(this, c), 0) | |
149 | 175 | ||
150 | 176 | ||
151 | - | func au (ar,ap) = { | |
152 | - | let av = aq(ar) | |
153 | - | let aw = getInteger(this, (toString(ar) + i)) | |
154 | - | let ax = { | |
155 | - | let ay = aw | |
156 | - | if ($isInstanceOf(ay, "Int")) | |
177 | + | func aG (aH) = valueOrElse(getInteger(this, (toString(aH) + e)), 0) | |
178 | + | ||
179 | + | ||
180 | + | func aI (aH) = valueOrElse(getInteger(this, (toString(aH) + k)), 0) | |
181 | + | ||
182 | + | ||
183 | + | func aJ (aH) = valueOrElse(getInteger(am, (toString(aH) + h)), 0) | |
184 | + | ||
185 | + | ||
186 | + | func aK (aH,aL) = { | |
187 | + | let aM = aG(aH) | |
188 | + | let aN = getInteger(this, (toString(aH) + d)) | |
189 | + | let aO = { | |
190 | + | let ae = aN | |
191 | + | if ($isInstanceOf(ae, "Int")) | |
157 | 192 | then { | |
158 | - | let | |
159 | - | | |
193 | + | let aN = ae | |
194 | + | aN | |
160 | 195 | } | |
161 | - | else | |
196 | + | else aL | |
162 | 197 | } | |
163 | - | $Tuple2( | |
198 | + | $Tuple2(aO, aM) | |
164 | 199 | } | |
165 | 200 | ||
166 | 201 | ||
167 | - | func | |
168 | - | let | |
169 | - | let | |
170 | - | let | |
171 | - | let | |
172 | - | if ((0 > | |
202 | + | func aP (aQ,aH) = { | |
203 | + | let aR = valueOrElse(getInteger(an, aQ), -1) | |
204 | + | let aS = valueOrElse(getInteger(an, (toString(aR) + B)), 0) | |
205 | + | let aT = valueOrElse(getBoolean(an, (toString(aR) + A)), true) | |
206 | + | let aU = height | |
207 | + | if ((0 > aR)) | |
173 | 208 | then 0 | |
174 | - | else if (!( | |
209 | + | else if (!(aT)) | |
175 | 210 | then 0 | |
176 | - | else if (( | |
177 | - | then (valueOrElse(getInteger( | |
211 | + | else if ((aS > aU)) | |
212 | + | then (valueOrElse(getInteger(an, (((toString(aH) + "_") + toString(aR)) + y)), 0) + valueOrElse(getInteger(an, (((toString(aH) + "_") + toString(aR)) + x)), 0)) | |
178 | 213 | else 0 | |
179 | 214 | } | |
180 | 215 | ||
181 | 216 | ||
182 | - | func | |
183 | - | let | |
184 | - | max( | |
217 | + | func aV (aH) = { | |
218 | + | let aW = [aP(aw, aH), aP(ax, aH), aP(ay, aH)] | |
219 | + | max(aW) | |
185 | 220 | } | |
186 | 221 | ||
187 | 222 | ||
188 | - | func | |
189 | - | let | |
190 | - | if (( | |
223 | + | func aX (aH) = { | |
224 | + | let aY = toString(valueOrElse(getInteger(ao, I), 0)) | |
225 | + | if ((aY == "0")) | |
191 | 226 | then 0 | |
192 | 227 | else { | |
193 | - | let | |
194 | - | let | |
195 | - | let | |
196 | - | let | |
197 | - | if ((height > | |
228 | + | let aZ = valueOrElse(getInteger(ao, (aY + K)), 0) | |
229 | + | let ba = valueOrElse(getInteger(ao, (aY + J)), 0) | |
230 | + | let bb = valueOrElse(getInteger(ao, (aY + P)), 0) | |
231 | + | let bc = ((aZ + ba) + bb) | |
232 | + | if ((height > bc)) | |
198 | 233 | then 0 | |
199 | 234 | else { | |
200 | - | let | |
201 | - | let | |
202 | - | ( | |
235 | + | let bd = valueOrElse(getInteger(ao, (((toString(aH) + "_") + aY) + G)), 0) | |
236 | + | let be = valueOrElse(getInteger(ao, (aY + H)), 0) | |
237 | + | (bd * be) | |
203 | 238 | } | |
204 | 239 | } | |
205 | 240 | } | |
206 | 241 | ||
207 | 242 | ||
208 | - | func | |
243 | + | func bf () = valueOrElse(getInteger(this, g), 0) | |
209 | 244 | ||
210 | 245 | ||
211 | - | func | |
212 | - | let | |
246 | + | func bg (aH) = { | |
247 | + | let bh = if (isDefined(getString(am, (toString(aH) + O)))) | |
213 | 248 | then { | |
214 | - | let | |
215 | - | $Tuple3(parseIntValue( | |
249 | + | let bi = split(valueOrErrorMessage(getString(am, (toString(aH) + O)), "Empty kUserTotalStruc"), "_") | |
250 | + | $Tuple3(parseIntValue(bi[0]), parseIntValue(bi[1]), parseIntValue(bi[2])) | |
216 | 251 | } | |
217 | 252 | else { | |
218 | - | let | |
219 | - | $Tuple3( | |
253 | + | let bj = valueOrElse(getInteger(am, (toString(aH) + h)), 0) | |
254 | + | $Tuple3(bj, 0, aB) | |
220 | 255 | } | |
221 | - | let | |
222 | - | let | |
223 | - | let | |
224 | - | let | |
225 | - | then | |
256 | + | let bk = bh._1 | |
257 | + | let bl = bh._2 | |
258 | + | let bm = bh._3 | |
259 | + | let bn = if ((bm == aB)) | |
260 | + | then bl | |
226 | 261 | else 0 | |
227 | - | $Tuple2( | |
262 | + | $Tuple2(bk, bn) | |
228 | 263 | } | |
229 | 264 | ||
230 | 265 | ||
231 | - | func | |
266 | + | func bo (aH) = valueOrElse(getInteger(this, (toString(aH) + i)), 0) | |
232 | 267 | ||
233 | 268 | ||
234 | - | func | |
269 | + | func bp (bq) = valueOrElse(getInteger(this, (bq + o)), 0) | |
235 | 270 | ||
236 | 271 | ||
237 | - | func | |
272 | + | func br (aQ) = valueOrElse(getInteger(this, (aQ + s)), 0) | |
238 | 273 | ||
239 | 274 | ||
240 | - | func | |
275 | + | func bs (aQ) = isDefined(getInteger(this, (aQ + s))) | |
241 | 276 | ||
242 | 277 | ||
243 | - | func | |
278 | + | func bt (aQ) = valueOrElse(getInteger(this, (aQ + q)), 0) | |
244 | 279 | ||
245 | 280 | ||
246 | - | func | |
281 | + | func bu (aQ) = valueOrElse(getInteger(this, (aQ + r)), 0) | |
247 | 282 | ||
248 | 283 | ||
249 | - | func | |
250 | - | let | |
251 | - | let | |
252 | - | let | |
253 | - | if ($isInstanceOf( | |
284 | + | func bv (aH,bq,bw) = { | |
285 | + | let bx = getInteger(this, (((bq + bw) + toString(aH)) + i)) | |
286 | + | let by = { | |
287 | + | let ae = bx | |
288 | + | if ($isInstanceOf(ae, "Int")) | |
254 | 289 | then { | |
255 | - | let | |
256 | - | | |
290 | + | let by = ae | |
291 | + | by | |
257 | 292 | } | |
258 | - | else if ($isInstanceOf( | |
293 | + | else if ($isInstanceOf(ae, "Unit")) | |
259 | 294 | then { | |
260 | - | let | |
295 | + | let by = ae | |
261 | 296 | 0 | |
262 | 297 | } | |
263 | 298 | else throw("Match error") | |
264 | 299 | } | |
265 | - | valueOrErrorMessage( | |
300 | + | valueOrErrorMessage(by, (((("No data on the key: " + bq) + bw) + toString(aH)) + i)) | |
266 | 301 | } | |
267 | 302 | ||
268 | 303 | ||
269 | - | func | |
304 | + | func bz (bq) = valueOrErrorMessage(getInteger(this, (bq + p)), (("No data on the key: " + bq) + p)) | |
270 | 305 | ||
271 | 306 | ||
272 | - | func | |
273 | - | let | |
274 | - | let | |
275 | - | let | |
276 | - | if ($isInstanceOf( | |
307 | + | func bA (bq,bw) = { | |
308 | + | let bB = getInteger(this, ((bq + bw) + j)) | |
309 | + | let bC = { | |
310 | + | let ae = bB | |
311 | + | if ($isInstanceOf(ae, "Int")) | |
277 | 312 | then { | |
278 | - | let | |
279 | - | | |
313 | + | let bC = ae | |
314 | + | bC | |
280 | 315 | } | |
281 | - | else if ($isInstanceOf( | |
316 | + | else if ($isInstanceOf(ae, "Unit")) | |
282 | 317 | then { | |
283 | - | let | |
318 | + | let bC = ae | |
284 | 319 | 0 | |
285 | 320 | } | |
286 | 321 | else throw("Match error") | |
287 | 322 | } | |
288 | - | | |
323 | + | bC | |
289 | 324 | } | |
290 | 325 | ||
291 | 326 | ||
292 | - | func | |
293 | - | let | |
294 | - | valueOrErrorMessage(getInteger(this, | |
327 | + | func bD (bq,bw,aH,bE) = { | |
328 | + | let ad = ((((((bq + "_") + bw) + "_") + toString(aH)) + "_") + toString(bE)) | |
329 | + | valueOrErrorMessage(getInteger(this, ad), ("No data on the key: " + ad)) | |
295 | 330 | } | |
296 | 331 | ||
297 | 332 | ||
298 | - | func | |
299 | - | let | |
300 | - | let | |
301 | - | let | |
302 | - | let | |
303 | - | let | |
304 | - | let | |
305 | - | $Tuple2( | |
333 | + | func bF (bG) = { | |
334 | + | let aL = aF() | |
335 | + | let bH = aK(bG, aL) | |
336 | + | let aN = bH._1 | |
337 | + | let bI = bH._2 | |
338 | + | let bJ = fraction(bI, (aL - aN), ar) | |
339 | + | let bK = aL | |
340 | + | $Tuple2(bK, bJ) | |
306 | 341 | } | |
307 | 342 | ||
308 | 343 | ||
309 | - | @Callable( | |
310 | - | func airDrop () = if (!( | |
344 | + | @Callable(bL) | |
345 | + | func airDrop () = if (!(az)) | |
311 | 346 | then throw("DApp is inactive at this moment") | |
312 | 347 | else { | |
313 | - | let | |
314 | - | let | |
315 | - | let | |
316 | - | if (( | |
348 | + | let bM = $Tuple2(bL.payments[0].amount, bL.payments[0].assetId) | |
349 | + | let bN = bM._1 | |
350 | + | let bO = bM._2 | |
351 | + | if ((bO != aq)) | |
317 | 352 | then throw("Incorrect pmtAssetId") | |
318 | 353 | else { | |
319 | - | let bA = aP() | |
320 | - | let ap = ao() | |
321 | - | let bB = (ap + fraction(by, Y, bA)) | |
322 | - | [IntegerEntry(h, bB)] | |
354 | + | let bP = fraction(bN, aA, 100, CEILING) | |
355 | + | let bQ = bf() | |
356 | + | let aL = aF() | |
357 | + | let bR = (aL + fraction((bN - bP), ar, bQ)) | |
358 | + | [IntegerEntry(c, bR), ScriptTransfer(ap, bP, aq)] | |
323 | 359 | } | |
324 | 360 | } | |
325 | 361 | ||
326 | 362 | ||
327 | 363 | ||
328 | - | @Callable( | |
329 | - | func lockSWOP () = if (!( | |
364 | + | @Callable(bL) | |
365 | + | func lockSWOP () = if (!(az)) | |
330 | 366 | then throw("DApp is inactive at this moment") | |
331 | 367 | else { | |
332 | - | let | |
333 | - | let | |
334 | - | let | |
335 | - | if (( | |
368 | + | let bS = $Tuple2(bL.payments[0].amount, bL.payments[0].assetId) | |
369 | + | let bN = bS._1 | |
370 | + | let bO = bS._2 | |
371 | + | if ((bO != aq)) | |
336 | 372 | then throw("Incorrect pmtAssetId") | |
337 | 373 | else { | |
338 | - | let | |
339 | - | let | |
340 | - | let | |
341 | - | let | |
342 | - | let | |
343 | - | let | |
344 | - | let | |
345 | - | let | |
346 | - | let | |
347 | - | let | |
348 | - | let | |
349 | - | [IntegerEntry((toString( | |
374 | + | let aL = aF() | |
375 | + | let bT = aK(bL.caller, aL) | |
376 | + | let aN = bT._1 | |
377 | + | let bI = bT._2 | |
378 | + | let bJ = fraction(bI, (aL - aN), ar) | |
379 | + | let bU = ((bI + bN) + bJ) | |
380 | + | let bK = aL | |
381 | + | let bQ = bf() | |
382 | + | let bV = ((bQ + bN) + bJ) | |
383 | + | let bW = aI(bL.caller) | |
384 | + | let bX = (bW + bJ) | |
385 | + | [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + e), bU), IntegerEntry(g, bV), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)] | |
350 | 386 | } | |
351 | 387 | } | |
352 | 388 | ||
353 | 389 | ||
354 | 390 | ||
355 | - | @Callable( | |
356 | - | func withdrawSWOP ( | |
391 | + | @Callable(bL) | |
392 | + | func withdrawSWOP (bY) = if (!(az)) | |
357 | 393 | then throw("DApp is inactive at this moment") | |
358 | - | else if ((0 >= | |
394 | + | else if ((0 >= bY)) | |
359 | 395 | then throw("withdrawAmount <= 0") | |
360 | 396 | else { | |
361 | - | let | |
362 | - | let | |
363 | - | let | |
364 | - | let | |
365 | - | let | |
366 | - | let | |
367 | - | let | |
368 | - | let | |
369 | - | let | |
370 | - | let | |
371 | - | if (if (if ((0 > | |
397 | + | let bQ = bf() | |
398 | + | let bI = aG(bL.caller) | |
399 | + | let bZ = bF(bL.caller) | |
400 | + | let bK = bZ._1 | |
401 | + | let bJ = bZ._2 | |
402 | + | let ca = bg(bL.caller) | |
403 | + | let cb = ca._1 | |
404 | + | let cc = ca._2 | |
405 | + | let cd = aV(bL.caller) | |
406 | + | let ce = aX(bL.caller) | |
407 | + | if (if (if ((0 > cc)) | |
372 | 408 | then true | |
373 | - | else (0 > | |
409 | + | else (0 > cb)) | |
374 | 410 | then true | |
375 | - | else (0 > | |
411 | + | else (0 > cd)) | |
376 | 412 | then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0") | |
377 | 413 | else { | |
378 | - | let | |
379 | - | if (( | |
414 | + | let cf = (bI - max([cd, (cb + cc), ce])) | |
415 | + | if ((bY > cf)) | |
380 | 416 | then throw("withdrawAmount > availableToUnstake") | |
381 | 417 | else { | |
382 | - | let | |
383 | - | let | |
384 | - | let | |
385 | - | let | |
386 | - | [IntegerEntry((toString( | |
418 | + | let bV = ((bQ + bJ) - bY) | |
419 | + | let cg = ((bI + bJ) - bY) | |
420 | + | let bW = aI(bL.caller) | |
421 | + | let bX = (bW + bJ) | |
422 | + | [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + e), cg), IntegerEntry(g, bV), ScriptTransfer(bL.caller, bY, aq), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)] | |
387 | 423 | } | |
388 | 424 | } | |
389 | 425 | } | |
390 | 426 | ||
391 | 427 | ||
392 | 428 | ||
393 | - | @Callable( | |
394 | - | func claimAndWithdrawSWOP () = if (!( | |
429 | + | @Callable(bL) | |
430 | + | func claimAndWithdrawSWOP () = if (!(az)) | |
395 | 431 | then throw("DApp is inactive at this moment") | |
396 | 432 | else { | |
397 | - | let | |
398 | - | let | |
399 | - | let | |
400 | - | let | |
401 | - | let | |
402 | - | let | |
403 | - | if (( | |
433 | + | let aL = aF() | |
434 | + | let ch = bF(bL.caller) | |
435 | + | let bK = ch._1 | |
436 | + | let bJ = ch._2 | |
437 | + | let bW = aI(bL.caller) | |
438 | + | let bX = (bW + bJ) | |
439 | + | if ((bJ == 0)) | |
404 | 440 | then throw("You have 0 available SWOP") | |
405 | - | else [IntegerEntry((toString( | |
441 | + | else [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ), ScriptTransfer(bL.caller, bJ, aq)] | |
406 | 442 | } | |
407 | 443 | ||
408 | 444 | ||
409 | 445 | ||
410 | - | @Callable( | |
411 | - | func claimAndStakeSWOP () = if (!( | |
446 | + | @Callable(bL) | |
447 | + | func claimAndStakeSWOP () = if (!(az)) | |
412 | 448 | then throw("DApp is inactive at this moment") | |
413 | 449 | else { | |
414 | - | let | |
415 | - | let | |
416 | - | let | |
417 | - | let | |
418 | - | let | |
419 | - | let | |
420 | - | let | |
421 | - | let | |
422 | - | let | |
423 | - | let | |
424 | - | if (( | |
450 | + | let bQ = bf() | |
451 | + | let bI = aG(bL.caller) | |
452 | + | let aL = aF() | |
453 | + | let ci = bF(bL.caller) | |
454 | + | let bK = ci._1 | |
455 | + | let bJ = ci._2 | |
456 | + | let bU = (bI + bJ) | |
457 | + | let bV = (bQ + bJ) | |
458 | + | let bW = aI(bL.caller) | |
459 | + | let bX = (bW + bJ) | |
460 | + | if ((bJ == 0)) | |
425 | 461 | then throw("You have 0 available SWOP") | |
426 | - | else [IntegerEntry((toString( | |
462 | + | else [IntegerEntry((toString(bL.caller) + d), bK), IntegerEntry(g, bV), IntegerEntry((toString(bL.caller) + e), bU), IntegerEntry((toString(bL.caller) + k), bX), IntegerEntry((toString(bL.caller) + l), bJ)] | |
427 | 463 | } | |
428 | 464 | ||
429 | 465 | ||
430 | 466 | ||
431 | - | @Callable( | |
432 | - | func updateWeights ( | |
467 | + | @Callable(bL) | |
468 | + | func updateWeights (cj,ck,cl,cm) = if (!(az)) | |
433 | 469 | then throw("DApp is inactive at this moment") | |
434 | 470 | else { | |
435 | - | let | |
436 | - | let | |
437 | - | if (!(containsElement([ | |
471 | + | let cn = 10 | |
472 | + | let co = valueOrElse(getInteger(this, v), 0) | |
473 | + | if (!(containsElement([ah, ai, aj, ak], bL.callerPublicKey))) | |
438 | 474 | then throw("Only admin can call this function") | |
439 | - | else if ((size( | |
440 | - | then throw(("Max amount of pool is " + toString( | |
441 | - | else if (( | |
475 | + | else if ((size(cj) > cn)) | |
476 | + | then throw(("Max amount of pool is " + toString(cn))) | |
477 | + | else if ((co >= cl)) | |
442 | 478 | then throw("rewardUpdateHeight <= totalRewardUpdateHeight") | |
443 | - | else if ((height >= | |
479 | + | else if ((height >= cl)) | |
444 | 480 | then throw("height >= rewardUpdateHeight") | |
445 | - | else if ((0 >= | |
481 | + | else if ((0 >= cl)) | |
446 | 482 | then throw("0 >= rewardUpdateHeight ") | |
447 | 483 | else { | |
448 | - | func | |
484 | + | func cp (cq,cr) = (cq + cr) | |
449 | 485 | ||
450 | - | func | |
451 | - | let | |
452 | - | if (if (!( | |
486 | + | func cs (ct,aQ) = { | |
487 | + | let cu = br(aQ) | |
488 | + | if (if (!(bs(aQ))) | |
453 | 489 | then true | |
454 | - | else if (( | |
455 | - | then ( | |
490 | + | else if ((cl != cu)) | |
491 | + | then (cu == co) | |
456 | 492 | else false) | |
457 | 493 | then { | |
458 | - | let | |
459 | - | IntegerEntry(( | |
494 | + | let cv = bt(aQ) | |
495 | + | IntegerEntry((aQ + r), cv) :: ct | |
460 | 496 | } | |
461 | 497 | else { | |
462 | - | let | |
463 | - | IntegerEntry(( | |
498 | + | let cv = bu(aQ) | |
499 | + | IntegerEntry((aQ + r), cv) :: ct | |
464 | 500 | } | |
465 | 501 | } | |
466 | 502 | ||
467 | - | func | |
468 | - | let | |
469 | - | let | |
470 | - | if ((0 > | |
503 | + | func cw (ct,aQ) = { | |
504 | + | let cx = value(indexOf(cj, aQ)) | |
505 | + | let cv = ck[cx] | |
506 | + | if ((0 > cv)) | |
471 | 507 | then throw("PoolReward < 0") | |
472 | - | else IntegerEntry(( | |
508 | + | else IntegerEntry((aQ + q), cv) :: ct | |
473 | 509 | } | |
474 | 510 | ||
475 | - | func | |
476 | - | let | |
477 | - | IntegerEntry(( | |
511 | + | func cy (ct,aQ) = { | |
512 | + | let cz = cl | |
513 | + | IntegerEntry((aQ + s), cz) :: ct | |
478 | 514 | } | |
479 | 515 | ||
480 | - | func | |
481 | - | then if (( | |
482 | - | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString( | |
483 | - | else $Tuple2([IntegerEntry( | |
484 | - | else if (( | |
516 | + | func cA (cB,cm) = if ((cm == 0)) | |
517 | + | then if ((cB > as)) | |
518 | + | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(cm)) + " ") + toString(cB))) | |
519 | + | else $Tuple2([IntegerEntry(F, cB)], [IntegerEntry(w, cl)]) | |
520 | + | else if ((cm == 1)) | |
485 | 521 | then { | |
486 | - | let | |
487 | - | let | |
488 | - | if ((( | |
489 | - | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString( | |
490 | - | else if (( | |
522 | + | let cC = valueOrElse(getInteger(this, F), 0) | |
523 | + | let cD = valueOrElse(getInteger(this, w), 0) | |
524 | + | if (((cB + cC) > as)) | |
525 | + | then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(cm)) + " ") + toString((cB + cC)))) | |
526 | + | else if ((cD != cl)) | |
491 | 527 | then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry") | |
492 | - | else $Tuple2([IntegerEntry( | |
528 | + | else $Tuple2([IntegerEntry(F, (cB + cC))], nil) | |
493 | 529 | } | |
494 | - | else if (( | |
530 | + | else if ((cm == 2)) | |
495 | 531 | then { | |
496 | - | let | |
497 | - | let | |
498 | - | if (( | |
532 | + | let cE = (valueOrElse(getInteger(this, F), 0) + cB) | |
533 | + | let cD = valueOrElse(getInteger(this, w), 0) | |
534 | + | if ((cE != as)) | |
499 | 535 | then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare") | |
500 | - | else if (( | |
536 | + | else if ((cD != cl)) | |
501 | 537 | then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry") | |
502 | - | else $Tuple2([IntegerEntry( | |
538 | + | else $Tuple2([IntegerEntry(F, cE)], nil) | |
503 | 539 | } | |
504 | 540 | else throw("Incorrect pagination") | |
505 | 541 | ||
506 | - | let | |
507 | - | let | |
508 | - | let | |
509 | - | let | |
510 | - | func | |
511 | - | then | |
512 | - | else | |
542 | + | let cF = { | |
543 | + | let cG = cj | |
544 | + | let cH = size(cG) | |
545 | + | let cI = nil | |
546 | + | func cJ (cK,cL) = if ((cL >= cH)) | |
547 | + | then cK | |
548 | + | else cs(cK, cG[cL]) | |
513 | 549 | ||
514 | - | func | |
515 | - | then | |
550 | + | func cM (cK,cL) = if ((cL >= cH)) | |
551 | + | then cK | |
516 | 552 | else throw("List size exceeds 10") | |
517 | 553 | ||
518 | - | | |
554 | + | cM(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cJ(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
519 | 555 | } | |
520 | - | let | |
521 | - | let | |
522 | - | let | |
523 | - | let | |
524 | - | func | |
525 | - | then | |
526 | - | else | |
556 | + | let cN = { | |
557 | + | let cG = cj | |
558 | + | let cH = size(cG) | |
559 | + | let cI = nil | |
560 | + | func cO (cK,cL) = if ((cL >= cH)) | |
561 | + | then cK | |
562 | + | else cw(cK, cG[cL]) | |
527 | 563 | ||
528 | - | func | |
529 | - | then | |
564 | + | func cP (cK,cL) = if ((cL >= cH)) | |
565 | + | then cK | |
530 | 566 | else throw("List size exceeds 10") | |
531 | 567 | ||
532 | - | | |
568 | + | cP(cO(cO(cO(cO(cO(cO(cO(cO(cO(cO(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
533 | 569 | } | |
534 | - | let | |
535 | - | let | |
536 | - | let | |
537 | - | let | |
538 | - | func | |
539 | - | then | |
540 | - | else | |
570 | + | let cQ = { | |
571 | + | let cG = cj | |
572 | + | let cH = size(cG) | |
573 | + | let cI = nil | |
574 | + | func cR (cK,cL) = if ((cL >= cH)) | |
575 | + | then cK | |
576 | + | else cy(cK, cG[cL]) | |
541 | 577 | ||
542 | - | func | |
543 | - | then | |
578 | + | func cS (cK,cL) = if ((cL >= cH)) | |
579 | + | then cK | |
544 | 580 | else throw("List size exceeds 10") | |
545 | 581 | ||
546 | - | | |
582 | + | cS(cR(cR(cR(cR(cR(cR(cR(cR(cR(cR(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
547 | 583 | } | |
548 | - | let | |
549 | - | let | |
550 | - | let | |
551 | - | let | |
552 | - | func | |
553 | - | then | |
554 | - | else | |
584 | + | let cT = { | |
585 | + | let cG = ck | |
586 | + | let cH = size(cG) | |
587 | + | let cI = 0 | |
588 | + | func cU (cK,cL) = if ((cL >= cH)) | |
589 | + | then cK | |
590 | + | else cp(cK, cG[cL]) | |
555 | 591 | ||
556 | - | func | |
557 | - | then | |
592 | + | func cV (cK,cL) = if ((cL >= cH)) | |
593 | + | then cK | |
558 | 594 | else throw("List size exceeds 10") | |
559 | 595 | ||
560 | - | | |
596 | + | cV(cU(cU(cU(cU(cU(cU(cU(cU(cU(cU(cI, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
561 | 597 | } | |
562 | - | let | |
563 | - | let | |
564 | - | let | |
565 | - | let | |
566 | - | then [IntegerEntry( | |
598 | + | let cW = cA(cT, cm) | |
599 | + | let cX = cW._1 | |
600 | + | let cD = cW._2 | |
601 | + | let cY = if ((cm == 2)) | |
602 | + | then [IntegerEntry(v, cl)] | |
567 | 603 | else nil | |
568 | - | if ((height > | |
604 | + | if ((height > cl)) | |
569 | 605 | then throw("rewardUpdateHeight < height") | |
570 | - | else ((((( | |
606 | + | else (((((cF ++ cN) ++ cQ) ++ cX) ++ cY) ++ cD) | |
571 | 607 | } | |
572 | 608 | } | |
573 | 609 | ||
574 | 610 | ||
575 | 611 | ||
576 | - | @Callable( | |
577 | - | func shutdown () = if (!( | |
578 | - | then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, | |
579 | - | else if (!(containsElement([ | |
612 | + | @Callable(bL) | |
613 | + | func shutdown () = if (!(az)) | |
614 | + | then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified"))) | |
615 | + | else if (!(containsElement([ah, ai, aj], bL.callerPublicKey))) | |
580 | 616 | then throw("Only admin can call this function") | |
581 | - | else | |
617 | + | else aC("Paused by admin") | |
582 | 618 | ||
583 | 619 | ||
584 | 620 | ||
585 | - | @Callable( | |
586 | - | func activate () = if ( | |
621 | + | @Callable(bL) | |
622 | + | func activate () = if (az) | |
587 | 623 | then throw("DApp is already active") | |
588 | - | else if (!(containsElement([ | |
624 | + | else if (!(containsElement([ah, ai, aj], bL.callerPublicKey))) | |
589 | 625 | then throw("Only admin can call this function") | |
590 | - | else [BooleanEntry( | |
626 | + | else [BooleanEntry(a, true), DeleteEntry(b)] | |
591 | 627 | ||
592 | 628 | ||
593 | - | @Verifier( | |
594 | - | func | |
595 | - | let | |
629 | + | @Verifier(cZ) | |
630 | + | func da () = { | |
631 | + | let db = if (sigVerify(cZ.bodyBytes, cZ.proofs[0], ah)) | |
596 | 632 | then 1 | |
597 | 633 | else 0 | |
598 | - | let | |
634 | + | let dc = if (sigVerify(cZ.bodyBytes, cZ.proofs[1], ai)) | |
599 | 635 | then 1 | |
600 | 636 | else 0 | |
601 | - | let | |
637 | + | let dd = if (sigVerify(cZ.bodyBytes, cZ.proofs[2], aj)) | |
602 | 638 | then 1 | |
603 | 639 | else 0 | |
604 | - | ((( | |
640 | + | (((db + dc) + dd) >= 2) | |
605 | 641 | } | |
606 | 642 |
github/deemru/w8io/169f3d6 392.45 ms ◑![]()