tx · HvtL9RpSZ4wQqurUbE3HqaEHmyL4jMk9ao6cyhSV1Jok 3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS: -0.01400000 Waves 2021.04.19 12:01 [1489140] smart account 3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS > SELF 0.00000000 Waves
{ "type": 13, "id": "HvtL9RpSZ4wQqurUbE3HqaEHmyL4jMk9ao6cyhSV1Jok", "fee": 1400000, "feeAssetId": null, "timestamp": 1618822922391, "version": 2, "chainId": 84, "sender": "3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS", "senderPublicKey": "93SZf1TATCRxGyBuGyngpQGKcpKZirb2yXLT2RQJ3UKb", "proofs": [ "3MX9Sb1Aqu5dnaKsh5ZHXiwgCNRD8TAABkwSMLpPWPoZ4xdC1XYjx4ALV6GMaVMZgyhnX3Z3w5Uuwzg5sveAc2gj" ], "script": "base64:AAIEAAAAAAAAABwIAhIAEgASAwoBARIAEgASBwoFGBEYEQESABIAAAAAOAAAAAAMYWRtaW5QdWJLZXkxAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAMYWRtaW5QdWJLZXkyAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAMYWRtaW5QdWJLZXkzAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3ABAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAABFhZG1pblB1YktleVdhbGxldAEAAAAgPndaZVpWyfwpVzO1vA1FLcrMp/iFkg43d1jzYhVSFBIAAAAACWtleUFjdGl2ZQIAAAAGYWN0aXZlAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAAD2tleUxhc3RJbnRlcmVzdAIAAAANbGFzdF9pbnRlcmVzdAAAAAATa2V5VXNlckxhc3RJbnRlcmVzdAIAAAAOX2xhc3RfaW50ZXJlc3QAAAAAEWtleVVzZXJTV09QTG9ja2VkAgAAAAxfU1dPUF9hbW91bnQAAAAAFGtleVVzZXJHZXRCYWNrSGVpZ2h0AgAAAA5fZ2V0QmFja0hlaWdodAAAAAASa2V5VG90YWxTV09QTG9ja2VkAgAAABF0b3RhbF9TV09QX2Ftb3VudAAAAAASa1VzZXJUb3RhbFZvdGVTV09QAgAAABVfdXNlcl90b3RhbF9TV09QX3ZvdGUAAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AgAAABNfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQCAAAAGHRvdGFsX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AgAAABRfU1dPUF9jbGFpbWVkX2Ftb3VudAAAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAIAAAAZX1NXT1BfbGFzdF9jbGFpbWVkX2Ftb3VudAAAAAALa2V5Vm90ZU5hbWUCAAAACXZvdGVfbmFtZQAAAAANa2V5T3B0aW9uTmFtZQIAAAAMX29wdGlvbl9uYW1lAAAAABRrZXlWb3RpbmdTdGFydEhlaWdodAIAAAAMX3N0YXJ0SGVpZ2h0AAAAAA9rZXlWb3RlRHVyYXRpb24CAAAADl92b3RlX2R1cmF0aW9uAAAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50AgAAAB1fY3VycmVudF9wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMCAAAAHl9wcmV2aW91c19wb29sX2ZyYWN0aW9uX3Jld2FyZAAAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAAHnRvdGFsX3Jld2FyZF9wZXJfYmxvY2tfY3VycmVudAAAAAAea2V5VG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzAgAAAB90b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX3ByZXZpb3VzAAAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQCAAAAFHJld2FyZF91cGRhdGVfaGVpZ2h0AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQpz7mNXLOmHPsK8R2TE4ZRW0sloZIwaSEAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVLKfOZJZ7gcVjLpQvASHFQkmIwyv4c9XLwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAQY3VyclZvdGluZ1BlcmlvZAkAAGQAAAACBQAAAApiYXNlUGVyaW9kCQAAaQAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAMcGVyaW9kTGVuZ3RoAQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QTG9ja2VkIC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUxhc3RJbnRlcmVzdAAAAAAAAAAAAAUAAAAMbGFzdEludGVyZXN0AQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQAAAAAAAAAAAABAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQAAAAAAAAAAAABAAAAE2dldFVzZXJVbnZvdGVBbW91bnQAAAABAAAABHVzZXIEAAAACyR0MDM3Nzk0MjkwAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAAC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DGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDYzNzM2NDQ4CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwNjM3MzY0NDgAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA2MzczNjQ0OAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDY4ODY2OTYxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwNjg4NjY5NjEAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA2ODg2Njk2MQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAskdDA3MDc3NzE1OQkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADGxhc3RJbnRlcmVzdAQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAACyR0MDcwNzc3MTU5AAAAAl8xBAAAAA51c2VyU1dPUExvY2tlZAgFAAAACyR0MDcwNzc3MTU5AAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAskdDA4MjQzODI5OAkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAALJHQwODI0MzgyOTgAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAALJHQwODI0MzgyOTgAAAACXzIEAAAAEHVzZXJVbnZvdGVBbW91bnQJAQAAABNnZXRVc2VyVW52b3RlQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA1hdmFpbGFibGVGdW5kCQAAZQAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAABB1c2VyVW52b3RlQW1vdW50AwkAAGYAAAACBQAAAA53aXRoZHJhd0Ftb3VudAUAAAANYXZhaWxhYmxlRnVuZAkAAAIAAAABAgAAAB53aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZUZ1bmQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDk0MTE5NDY2CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA5NDExOTQ2NgAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAskdDA5NDExOTQ2NgAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTAyNDUxMDMwMAkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTAyNDUxMDMwMAAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMDI0NTEwMzAwAAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAUAAAANcHJldmlvdXNQb29scwAAAA9wcmV2aW91c1Jld2FyZHMAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AJAARMAAAAAgUAAAARYWRtaW5QdWJLZXlXYWxsZXQFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgoBAAAAA3N1bQAAAAIAAAABYQAAAAFiCQAAZAAAAAIFAAAAAWEFAAAAAWIKAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAlwb29sSW5kZXgJAQAAAAV2YWx1ZQAAAAEJAARPAAAAAgUAAAANcHJldmlvdXNQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA9wcmV2aW91c1Jld2FyZHMFAAAACXBvb2xJbmRleAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQKAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAxjdXJyZW50UG9vbHMFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAAGRAAAAAgUAAAAOY3VycmVudFJld2FyZHMFAAAACXBvb2xJbmRleAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAQAAAARc3VtUmV3YXJkUHJldmlvdXMEAAAADyRsaXN0MTIwODExMjExNAUAAAAPcHJldmlvdXNSZXdhcmRzBAAAAA8kc2l6ZTEyMDgxMTIxMTQJAAGQAAAA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YWNjMTkxMjE0MzEyMTc1CQABkQAAAAIFAAAADyRsaXN0MTIxNDMxMjE3NQAAAAAAAAAAEwMJAAAAAAAAAgUAAAAPJHNpemUxMjE0MzEyMTc1AAAAAAAAAAAUBQAAABAkYWNjMjAxMjE0MzEyMTc1BAAAABAkYWNjMjExMjE0MzEyMTc1CQEAAAADc3VtAAAAAgUAAAAQJGFjYzIwMTIxNDMxMjE3NQkAAZEAAAACBQAAAA8kbGlzdDEyMTQzMTIxNzUAAAAAAAAAABQJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAyMAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0AwMJAQAAAAIhPQAAAAIFAAAAEXN1bVJld2FyZFByZXZpb3VzBQAAAA50b3RhbFZvdGVTaGFyZQYJAQAAAAIhPQAAAAIFAAAAEHN1bVJld2FyZEN1cnJlbnQFAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAECAAAASXN1bVJld2FyZFByZXZpb3VzICE9IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgIT0gdG90YWxWb3RlU2hhcmUEAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTI0ODUxMjUzMwUAAAANcHJldmlvdXNQb29scwQAAAAPJHNpemUxMjQ4NTEyNTMzCQABkAAAAAEFAAAADyRsaXN0MTI0ODUxMjUzMwQAAAAPJGFjYzAxMjQ4NTEyNTMzBQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAAAAUAAAAPJGFjYzAxMjQ4NTEyNTMzBAAAAA8kYWNjMTEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAABBQAAAA8kYWNjMTEyNDg1MTI1MzMEAAAADyRhY2MyMTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAAAIFAAAADyRhY2MyMTI0ODUxMjUzMwQAAAAPJGFjYzMxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAAAwUAAAAPJGFjYzMxMjQ4NTEyNTMzBAAAAA8kYWNjNDEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAAEBQAAAA8kYWNjNDEyNDg1MTI1MzMEAAAADyRhY2M1MTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAAAUFAAAADyRhY2M1MTI0ODUxMjUzMwQAAAAPJGFjYzYxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAABgUAAAAPJGFjYzYxMjQ4NTEyNTMzBAAAAA8kYWNjNzEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAAHBQAAAA8kYWNjNzEyNDg1MTI1MzMEAAAADyRhY2M4MTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAAAgFAAAADyRhY2M4MTI0ODUxMjUzMwQAAAAPJGFjYzkxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAACQUAAAAPJGFjYzkxMjQ4NTEyNTMzBAAAABAkYWNjMTAxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAACgUAAAAQJGFjYzEwMTI0ODUxMjUzMwQAAAAQJGFjYzExMTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAACgMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAALBQAAABAkYWNjMTExMjQ4NTEyNTMzBAAAABAkYWNjMTIxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMTEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAALAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAAAwFAAAAECRhY2MxMjEyNDg1MTI1MzMEAAAAECRhY2MxMzEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEyMTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAAwDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAADQUAAAAQJGFjYzEzMTI0ODUxMjUzMwQAAAAQJGFjYzE0MTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTMxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAADQMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAAOBQAAABAkYWNjMTQxMjQ4NTEyNTMzBAAAABAkYWNjMTUxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxNDEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAAOAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAAA8FAAAAECRhY2MxNTEyNDg1MTI1MzMEAAAAECRhY2MxNjEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE1MTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAAA8DCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAAEAUAAAAQJGFjYzE2MTI0ODUxMjUzMwQAAAAQJGFjYzE3MTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTYxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAAEAMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAARBQAAABAkYWNjMTcxMjQ4NTEyNTMzBAAAABAkYWNjMTgxMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxNzEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAARAwkAAAAAAAACBQAAAA8kc2l6ZTEyNDg1MTI1MzMAAAAAAAAAABIFAAAAECRhY2MxODEyNDg1MTI1MzMEAAAAECRhY2MxOTEyNDg1MTI1MzMJAQAAABNQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE4MTI0ODUxMjUzMwkAAZEAAAACBQAAAA8kbGlzdDEyNDg1MTI1MzMAAAAAAAAAABIDCQAAAAAAAAIFAAAADyRzaXplMTI0ODUxMjUzMwAAAAAAAAAAEwUAAAAQJGFjYzE5MTI0ODUxMjUzMwQAAAAQJGFjYzIwMTI0ODUxMjUzMwkBAAAAE1ByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTkxMjQ4NTEyNTMzCQABkQAAAAIFAAAADyRsaXN0MTI0ODUxMjUzMwAAAAAAAAAAEwMJAAAAAAAAAgUAAAAPJHNpemUxMjQ4NTEyNTMzAAAAAAAAAAAUBQAAABAkYWNjMjAxMjQ4NTEyNTMzBAAAABAkYWNjMjExMjQ4NTEyNTMzCQEAAAATUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MyMDEyNDg1MTI1MzMJAAGRAAAAAgUAAAAPJGxpc3QxMjQ4NTEyNTMzAAAAAAAAAAAUCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMjAEAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxMjU2NjEyNjEyBQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTI1NjYxMjYxMgkAAZAAAAABBQAAAA8kbGlzdDEyNTY2MTI2MTIEAAAADyRhY2MwMTI1NjYxMjYxMgUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAAAFAAAADyRhY2MwMTI1NjYxMjYxMgQAAAAPJGFjYzExMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAABBQAAAA8kYWNjMTEyNTY2MTI2MTIEAAAADyRhY2MyMTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAAAgUAAAAPJGFjYzIxMjU2NjEyNjEyBAAAAA8kYWNjMzEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAAMFAAAADyRhY2MzMTI1NjYxMjYxMgQAAAAPJGFjYzQxMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAAEBQAAAA8kYWNjNDEyNTY2MTI2MTIEAAAADyRhY2M1MTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAABQUAAAAPJGFjYzUxMjU2NjEyNjEyBAAAAA8kYWNjNjEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAAYFAAAADyRhY2M2MTI1NjYxMjYxMgQAAAAPJGFjYzcxMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAAHBQAAAA8kYWNjNzEyNTY2MTI2MTIEAAAADyRhY2M4MTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAACAUAAAAPJGFjYzgxMjU2NjEyNjEyBAAAAA8kYWNjOTEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAAkFAAAADyRhY2M5MTI1NjYxMjYxMgQAAAAQJGFjYzEwMTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAACgUAAAAQJGFjYzEwMTI1NjYxMjYxMgQAAAAQJGFjYzExMTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAAKAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAAsFAAAAECRhY2MxMTEyNTY2MTI2MTIEAAAAECRhY2MxMjEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTExMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAACwMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAAMBQAAABAkYWNjMTIxMjU2NjEyNjEyBAAAABAkYWNjMTMxMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzEyMTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAAwDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAADQUAAAAQJGFjYzEzMTI1NjYxMjYxMgQAAAAQJGFjYzE0MTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMzEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAANAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAAA4FAAAAECRhY2MxNDEyNTY2MTI2MTIEAAAAECRhY2MxNTEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTQxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAADgMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAAPBQAAABAkYWNjMTUxMjU2NjEyNjEyBAAAABAkYWNjMTYxMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE1MTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAAA8DCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAAEAUAAAAQJGFjYzE2MTI1NjYxMjYxMgQAAAAQJGFjYzE3MTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxNjEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAAQAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAABEFAAAAECRhY2MxNzEyNTY2MTI2MTIEAAAAECRhY2MxODEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTcxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAAEQMJAAAAAAAAAgUAAAAPJHNpemUxMjU2NjEyNjEyAAAAAAAAAAASBQAAABAkYWNjMTgxMjU2NjEyNjEyBAAAABAkYWNjMTkxMjU2NjEyNjEyCQEAAAASQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAQJGFjYzE4MTI1NjYxMjYxMgkAAZEAAAACBQAAAA8kbGlzdDEyNTY2MTI2MTIAAAAAAAAAABIDCQAAAAAAAAIFAAAADyRzaXplMTI1NjYxMjYxMgAAAAAAAAAAEwUAAAAQJGFjYzE5MTI1NjYxMjYxMgQAAAAQJGFjYzIwMTI1NjYxMjYxMgkBAAAAEkN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxOTEyNTY2MTI2MTIJAAGRAAAAAgUAAAAPJGxpc3QxMjU2NjEyNjEyAAAAAAAAAAATAwkAAAAAAAACBQAAAA8kc2l6ZTEyNTY2MTI2MTIAAAAAAAAAABQFAAAAECRhY2MyMDEyNTY2MTI2MTIEAAAAECRhY2MyMTEyNTY2MTI2MTIJAQAAABJDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMjAxMjU2NjEyNjEyCQABkQAAAAIFAAAADyRsaXN0MTI1NjYxMjYxMgAAAAAAAAAAFAkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDIwCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVrZXlSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAADbmlsAAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACGtleUNhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAAB3N1c3BlbmQAAAABAgAAAA9QYXVzZWQgYnkgYWRtaW4AAAABaQEAAAAIYWN0aXZhdGUAAAAAAwUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAhrZXlDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXld2x75", "height": 1489140, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B6U9dHqnRs1f8nAmxnKYyNmNf8QPyAVFx3mw8PKJNmLr Next: D9A6jDPoWv1ET9KH4h4UbMkHtBXZMjj6RV2nVto136MG Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK' | |
5 | 5 | ||
6 | 6 | let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK' | |
7 | 7 | ||
8 | 8 | let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK' | |
9 | 9 | ||
10 | 10 | let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK' | |
11 | 11 | ||
12 | 12 | let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw' | |
13 | 13 | ||
14 | 14 | let keyActive = "active" | |
15 | 15 | ||
16 | 16 | let keyCause = "shutdown_cause" | |
17 | 17 | ||
18 | 18 | let keyLastInterest = "last_interest" | |
19 | 19 | ||
20 | 20 | let keyUserLastInterest = "_last_interest" | |
21 | 21 | ||
22 | 22 | let keyUserSWOPLocked = "_SWOP_amount" | |
23 | 23 | ||
24 | 24 | let keyUserGetBackHeight = "_getBackHeight" | |
25 | 25 | ||
26 | 26 | let keyTotalSWOPLocked = "total_SWOP_amount" | |
27 | 27 | ||
28 | 28 | let kUserTotalVoteSWOP = "_user_total_SWOP_vote" | |
29 | 29 | ||
30 | 30 | let keyUserVoteOptionAmount = "_SWOP_option_amount" | |
31 | 31 | ||
32 | 32 | let keyTotalVoteOptionAmount = "total_SWOP_option_amount" | |
33 | 33 | ||
34 | 34 | let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount" | |
35 | 35 | ||
36 | 36 | let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount" | |
37 | 37 | ||
38 | 38 | let keyVoteName = "vote_name" | |
39 | 39 | ||
40 | 40 | let keyOptionName = "_option_name" | |
41 | 41 | ||
42 | 42 | let keyVotingStartHeight = "_startHeight" | |
43 | 43 | ||
44 | 44 | let keyVoteDuration = "_vote_duration" | |
45 | 45 | ||
46 | 46 | let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward" | |
47 | 47 | ||
48 | 48 | let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward" | |
49 | 49 | ||
50 | 50 | let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current" | |
51 | 51 | ||
52 | 52 | let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous" | |
53 | 53 | ||
54 | 54 | let keyRewardUpdateHeight = "reward_update_height" | |
55 | 55 | ||
56 | 56 | let isActive = valueOrElse(getBoolean(this, keyActive), true) | |
57 | 57 | ||
58 | 58 | let farmingSWOPAddress = Address(base58'3MsjAKkxKjxVU4gC1BpJ1jKmAZyRufUCErC') | |
59 | 59 | ||
60 | 60 | let votingLiteContract = Address(base58'3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN') | |
61 | 61 | ||
62 | 62 | let keySWOPid = "SWOP_id" | |
63 | 63 | ||
64 | 64 | let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid)) | |
65 | 65 | ||
66 | 66 | let scaleValue = 100000000 | |
67 | 67 | ||
68 | 68 | let totalVoteShare = 10000000000 | |
69 | 69 | ||
70 | 70 | let kStartHeight = "start_height" | |
71 | 71 | ||
72 | 72 | let kBasePeriod = "base_period" | |
73 | 73 | ||
74 | 74 | let kPeriodLength = "period_length" | |
75 | 75 | ||
76 | 76 | let kUserTotalStruc = "_user_total_struc" | |
77 | 77 | ||
78 | 78 | let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract") | |
79 | 79 | ||
80 | 80 | let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract") | |
81 | 81 | ||
82 | 82 | let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract") | |
83 | 83 | ||
84 | 84 | let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength)) | |
85 | 85 | ||
86 | 86 | func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)] | |
87 | 87 | ||
88 | 88 | ||
89 | 89 | func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount") | |
90 | 90 | ||
91 | 91 | ||
92 | 92 | func getLastInterestInfo () = { | |
93 | 93 | let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0) | |
94 | 94 | lastInterest | |
95 | 95 | } | |
96 | 96 | ||
97 | 97 | ||
98 | 98 | func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0) | |
99 | 99 | ||
100 | 100 | ||
101 | 101 | func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0) | |
102 | 102 | ||
103 | 103 | ||
104 | 104 | func getUserInterestInfo (user,lastInterest) = { | |
105 | 105 | let userSWOPAmount = getUserSWOPLocked(user) | |
106 | 106 | let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest)) | |
107 | 107 | let userLastInterestValue = match userLastInterest { | |
108 | 108 | case userLastInterest: Int => | |
109 | 109 | userLastInterest | |
110 | 110 | case _ => | |
111 | 111 | lastInterest | |
112 | 112 | } | |
113 | 113 | $Tuple2(userLastInterestValue, userSWOPAmount) | |
114 | 114 | } | |
115 | 115 | ||
116 | 116 | ||
117 | 117 | func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0) | |
118 | 118 | ||
119 | 119 | ||
120 | 120 | func getUserUnvoteAmount (user) = { | |
121 | 121 | let $t037794290 = if (isDefined(getString(this, (toString(user) + kUserTotalStruc)))) | |
122 | 122 | then { | |
123 | 123 | let data = split(valueOrErrorMessage(getString(this, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_") | |
124 | 124 | $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2])) | |
125 | 125 | } | |
126 | 126 | else { | |
127 | 127 | let uPoolTotalSWOP = valueOrElse(getInteger(this, (toString(user) + kUserTotalVoteSWOP)), 0) | |
128 | 128 | $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod) | |
129 | 129 | } | |
130 | 130 | let userTotalVoteSWOP = $t037794290._1 | |
131 | 131 | let userUnvoted = $t037794290._2 | |
132 | 132 | let userUnvotedPeriod = $t037794290._3 | |
133 | 133 | if ((userUnvotedPeriod == currVotingPeriod)) | |
134 | 134 | then userUnvoted | |
135 | 135 | else 0 | |
136 | 136 | } | |
137 | 137 | ||
138 | 138 | ||
139 | 139 | func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0) | |
140 | 140 | ||
141 | 141 | ||
142 | 142 | func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0) | |
143 | 143 | ||
144 | 144 | ||
145 | 145 | func getVoteOptionAmount (user,voteName,option) = { | |
146 | 146 | let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount)) | |
147 | 147 | let uvoa = match userVoteOptionAmount { | |
148 | 148 | case uvoa: Int => | |
149 | 149 | uvoa | |
150 | 150 | case uvoa: Unit => | |
151 | 151 | 0 | |
152 | 152 | case _ => | |
153 | 153 | throw("Match error") | |
154 | 154 | } | |
155 | 155 | valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount)) | |
156 | 156 | } | |
157 | 157 | ||
158 | 158 | ||
159 | 159 | func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration)) | |
160 | 160 | ||
161 | 161 | ||
162 | 162 | func getTotalVoteOptionAmount (voteName,option) = { | |
163 | 163 | let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount)) | |
164 | 164 | let tvoa = match totalVoteOptionAmount { | |
165 | 165 | case tvoa: Int => | |
166 | 166 | tvoa | |
167 | 167 | case tvoa: Unit => | |
168 | 168 | 0 | |
169 | 169 | case _ => | |
170 | 170 | throw("Match error") | |
171 | 171 | } | |
172 | 172 | tvoa | |
173 | 173 | } | |
174 | 174 | ||
175 | 175 | ||
176 | 176 | func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = { | |
177 | 177 | let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight)) | |
178 | 178 | valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key)) | |
179 | 179 | } | |
180 | 180 | ||
181 | 181 | ||
182 | 182 | func claimCalc (caller) = { | |
183 | 183 | let lastInterest = getLastInterestInfo() | |
184 | 184 | let $t060286108 = getUserInterestInfo(caller, lastInterest) | |
185 | 185 | let userLastInterest = $t060286108._1 | |
186 | 186 | let userSWOPLocked = $t060286108._2 | |
187 | 187 | let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue) | |
188 | 188 | let userNewInterest = lastInterest | |
189 | 189 | $Tuple2(userNewInterest, claimAmount) | |
190 | 190 | } | |
191 | 191 | ||
192 | 192 | ||
193 | 193 | @Callable(i) | |
194 | 194 | func airDrop () = if (!(isActive)) | |
195 | 195 | then throw("DApp is inactive at this moment") | |
196 | 196 | else { | |
197 | 197 | let $t063736448 = $Tuple2(i.payments[0].amount, i.payments[0].assetId) | |
198 | 198 | let pmtAmount = $t063736448._1 | |
199 | 199 | let pmtAssetId = $t063736448._2 | |
200 | 200 | if ((pmtAssetId != SWOP)) | |
201 | 201 | then throw("Incorrect pmtAssetId") | |
202 | 202 | else { | |
203 | 203 | let totalSWOPLocked = getTotalSWOPLocked() | |
204 | 204 | let lastInterest = getLastInterestInfo() | |
205 | 205 | let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked)) | |
206 | 206 | [IntegerEntry(keyLastInterest, interestNew)] | |
207 | 207 | } | |
208 | 208 | } | |
209 | 209 | ||
210 | 210 | ||
211 | 211 | ||
212 | 212 | @Callable(i) | |
213 | 213 | func lockSWOP () = if (!(isActive)) | |
214 | 214 | then throw("DApp is inactive at this moment") | |
215 | 215 | else { | |
216 | 216 | let $t068866961 = $Tuple2(i.payments[0].amount, i.payments[0].assetId) | |
217 | 217 | let pmtAmount = $t068866961._1 | |
218 | 218 | let pmtAssetId = $t068866961._2 | |
219 | 219 | if ((pmtAssetId != SWOP)) | |
220 | 220 | then throw("Incorrect pmtAssetId") | |
221 | 221 | else { | |
222 | 222 | let lastInterest = getLastInterestInfo() | |
223 | 223 | let $t070777159 = getUserInterestInfo(i.caller, lastInterest) | |
224 | 224 | let userLastInterest = $t070777159._1 | |
225 | 225 | let userSWOPLocked = $t070777159._2 | |
226 | 226 | let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue) | |
227 | 227 | let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount) | |
228 | 228 | let userNewInterest = lastInterest | |
229 | 229 | let totalSWOPLocked = getTotalSWOPLocked() | |
230 | 230 | let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount) | |
231 | 231 | let userClaimedAmount = getUserSWOPClaimedAmount(i.caller) | |
232 | 232 | let userClaimedAmountNew = (userClaimedAmount + claimAmount) | |
233 | 233 | [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)] | |
234 | 234 | } | |
235 | 235 | } | |
236 | 236 | ||
237 | 237 | ||
238 | 238 | ||
239 | 239 | @Callable(i) | |
240 | 240 | func withdrawSWOP (withdrawAmount) = if (!(isActive)) | |
241 | 241 | then throw("DApp is inactive at this moment") | |
242 | 242 | else { | |
243 | 243 | let totalSWOPLocked = getTotalSWOPLocked() | |
244 | 244 | let userSWOPLocked = getUserSWOPLocked(i.caller) | |
245 | 245 | let $t082438298 = claimCalc(i.caller) | |
246 | 246 | let userNewInterest = $t082438298._1 | |
247 | 247 | let claimAmount = $t082438298._2 | |
248 | 248 | let userUnvoteAmount = getUserUnvoteAmount(i.caller) | |
249 | 249 | let availableFund = (userSWOPLocked - userUnvoteAmount) | |
250 | 250 | if ((withdrawAmount > availableFund)) | |
251 | 251 | then throw("withdrawAmount > availableFund") | |
252 | 252 | else { | |
253 | 253 | let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount) | |
254 | 254 | let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount) | |
255 | 255 | let userClaimedAmount = getUserSWOPClaimedAmount(i.caller) | |
256 | 256 | let userClaimedAmountNew = (userClaimedAmount + claimAmount) | |
257 | 257 | [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)] | |
258 | 258 | } | |
259 | 259 | } | |
260 | 260 | ||
261 | 261 | ||
262 | 262 | ||
263 | 263 | @Callable(i) | |
264 | 264 | func claimAndWithdrawSWOP () = if (!(isActive)) | |
265 | 265 | then throw("DApp is inactive at this moment") | |
266 | 266 | else { | |
267 | 267 | let lastInterest = getLastInterestInfo() | |
268 | 268 | let $t094119466 = claimCalc(i.caller) | |
269 | 269 | let userNewInterest = $t094119466._1 | |
270 | 270 | let claimAmount = $t094119466._2 | |
271 | 271 | let userClaimedAmount = getUserSWOPClaimedAmount(i.caller) | |
272 | 272 | let userClaimedAmountNew = (userClaimedAmount + claimAmount) | |
273 | 273 | if ((claimAmount == 0)) | |
274 | 274 | then throw("You have 0 available SWOP") | |
275 | 275 | else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)] | |
276 | 276 | } | |
277 | 277 | ||
278 | 278 | ||
279 | 279 | ||
280 | 280 | @Callable(i) | |
281 | 281 | func claimAndStakeSWOP () = if (!(isActive)) | |
282 | 282 | then throw("DApp is inactive at this moment") | |
283 | 283 | else { | |
284 | 284 | let totalSWOPLocked = getTotalSWOPLocked() | |
285 | 285 | let userSWOPLocked = getUserSWOPLocked(i.caller) | |
286 | 286 | let lastInterest = getLastInterestInfo() | |
287 | 287 | let $t01024510300 = claimCalc(i.caller) | |
288 | 288 | let userNewInterest = $t01024510300._1 | |
289 | 289 | let claimAmount = $t01024510300._2 | |
290 | 290 | let userSWOPLockedNew = (userSWOPLocked + claimAmount) | |
291 | 291 | let totalSWOPLockedNew = (totalSWOPLocked + claimAmount) | |
292 | 292 | let userClaimedAmount = getUserSWOPClaimedAmount(i.caller) | |
293 | 293 | let userClaimedAmountNew = (userClaimedAmount + claimAmount) | |
294 | 294 | if ((claimAmount == 0)) | |
295 | 295 | then throw("You have 0 available SWOP") | |
296 | 296 | else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)] | |
297 | 297 | } | |
298 | 298 | ||
299 | 299 | ||
300 | 300 | ||
301 | 301 | @Callable(i) | |
302 | 302 | func updateWeights (previousPools,previousRewards,currentPools,currentRewards,rewardUpdateHeight) = if (!(isActive)) | |
303 | 303 | then throw("DApp is inactive at this moment") | |
304 | 304 | else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey))) | |
305 | 305 | then throw("Only admin can call this function") | |
306 | 306 | else { | |
307 | 307 | func sum (a,b) = (a + b) | |
308 | 308 | ||
309 | 309 | func PreviousRewardEntry (accumulated,pool) = { | |
310 | 310 | let poolIndex = value(indexOf(previousPools, pool)) | |
311 | 311 | let poolReward = previousRewards[poolIndex] | |
312 | 312 | IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated | |
313 | 313 | } | |
314 | 314 | ||
315 | 315 | func CurrentRewardEntry (accumulated,pool) = { | |
316 | 316 | let poolIndex = value(indexOf(currentPools, pool)) | |
317 | 317 | let poolReward = currentRewards[poolIndex] | |
318 | 318 | IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated | |
319 | 319 | } | |
320 | 320 | ||
321 | 321 | let sumRewardPrevious = { | |
322 | 322 | let $list1208112114 = previousRewards | |
323 | 323 | let $size1208112114 = size($list1208112114) | |
324 | 324 | let $acc01208112114 = 0 | |
325 | 325 | if (($size1208112114 == 0)) | |
326 | 326 | then $acc01208112114 | |
327 | 327 | else { | |
328 | 328 | let $acc11208112114 = sum($acc01208112114, $list1208112114[0]) | |
329 | 329 | if (($size1208112114 == 1)) | |
330 | 330 | then $acc11208112114 | |
331 | 331 | else { | |
332 | 332 | let $acc21208112114 = sum($acc11208112114, $list1208112114[1]) | |
333 | 333 | if (($size1208112114 == 2)) | |
334 | 334 | then $acc21208112114 | |
335 | 335 | else { | |
336 | 336 | let $acc31208112114 = sum($acc21208112114, $list1208112114[2]) | |
337 | 337 | if (($size1208112114 == 3)) | |
338 | 338 | then $acc31208112114 | |
339 | 339 | else { | |
340 | 340 | let $acc41208112114 = sum($acc31208112114, $list1208112114[3]) | |
341 | 341 | if (($size1208112114 == 4)) | |
342 | 342 | then $acc41208112114 | |
343 | 343 | else { | |
344 | 344 | let $acc51208112114 = sum($acc41208112114, $list1208112114[4]) | |
345 | 345 | if (($size1208112114 == 5)) | |
346 | 346 | then $acc51208112114 | |
347 | 347 | else { | |
348 | 348 | let $acc61208112114 = sum($acc51208112114, $list1208112114[5]) | |
349 | 349 | if (($size1208112114 == 6)) | |
350 | 350 | then $acc61208112114 | |
351 | 351 | else { | |
352 | 352 | let $acc71208112114 = sum($acc61208112114, $list1208112114[6]) | |
353 | 353 | if (($size1208112114 == 7)) | |
354 | 354 | then $acc71208112114 | |
355 | 355 | else { | |
356 | 356 | let $acc81208112114 = sum($acc71208112114, $list1208112114[7]) | |
357 | 357 | if (($size1208112114 == 8)) | |
358 | 358 | then $acc81208112114 | |
359 | 359 | else { | |
360 | 360 | let $acc91208112114 = sum($acc81208112114, $list1208112114[8]) | |
361 | 361 | if (($size1208112114 == 9)) | |
362 | 362 | then $acc91208112114 | |
363 | 363 | else { | |
364 | 364 | let $acc101208112114 = sum($acc91208112114, $list1208112114[9]) | |
365 | 365 | if (($size1208112114 == 10)) | |
366 | 366 | then $acc101208112114 | |
367 | 367 | else { | |
368 | 368 | let $acc111208112114 = sum($acc101208112114, $list1208112114[10]) | |
369 | 369 | if (($size1208112114 == 11)) | |
370 | 370 | then $acc111208112114 | |
371 | 371 | else { | |
372 | 372 | let $acc121208112114 = sum($acc111208112114, $list1208112114[11]) | |
373 | 373 | if (($size1208112114 == 12)) | |
374 | 374 | then $acc121208112114 | |
375 | 375 | else { | |
376 | 376 | let $acc131208112114 = sum($acc121208112114, $list1208112114[12]) | |
377 | 377 | if (($size1208112114 == 13)) | |
378 | 378 | then $acc131208112114 | |
379 | 379 | else { | |
380 | 380 | let $acc141208112114 = sum($acc131208112114, $list1208112114[13]) | |
381 | 381 | if (($size1208112114 == 14)) | |
382 | 382 | then $acc141208112114 | |
383 | 383 | else { | |
384 | 384 | let $acc151208112114 = sum($acc141208112114, $list1208112114[14]) | |
385 | 385 | if (($size1208112114 == 15)) | |
386 | 386 | then $acc151208112114 | |
387 | 387 | else { | |
388 | 388 | let $acc161208112114 = sum($acc151208112114, $list1208112114[15]) | |
389 | 389 | if (($size1208112114 == 16)) | |
390 | 390 | then $acc161208112114 | |
391 | 391 | else { | |
392 | 392 | let $acc171208112114 = sum($acc161208112114, $list1208112114[16]) | |
393 | 393 | if (($size1208112114 == 17)) | |
394 | 394 | then $acc171208112114 | |
395 | 395 | else { | |
396 | 396 | let $acc181208112114 = sum($acc171208112114, $list1208112114[17]) | |
397 | 397 | if (($size1208112114 == 18)) | |
398 | 398 | then $acc181208112114 | |
399 | 399 | else { | |
400 | 400 | let $acc191208112114 = sum($acc181208112114, $list1208112114[18]) | |
401 | 401 | if (($size1208112114 == 19)) | |
402 | 402 | then $acc191208112114 | |
403 | 403 | else { | |
404 | 404 | let $acc201208112114 = sum($acc191208112114, $list1208112114[19]) | |
405 | 405 | if (($size1208112114 == 20)) | |
406 | 406 | then $acc201208112114 | |
407 | 407 | else { | |
408 | 408 | let $acc211208112114 = sum($acc201208112114, $list1208112114[20]) | |
409 | 409 | throw("List size exceed 20") | |
410 | 410 | } | |
411 | 411 | } | |
412 | 412 | } | |
413 | 413 | } | |
414 | 414 | } | |
415 | 415 | } | |
416 | 416 | } | |
417 | 417 | } | |
418 | 418 | } | |
419 | 419 | } | |
420 | 420 | } | |
421 | 421 | } | |
422 | 422 | } | |
423 | 423 | } | |
424 | 424 | } | |
425 | 425 | } | |
426 | 426 | } | |
427 | 427 | } | |
428 | 428 | } | |
429 | 429 | } | |
430 | 430 | } | |
431 | 431 | } | |
432 | 432 | let sumRewardCurrent = { | |
433 | 433 | let $list1214312175 = currentRewards | |
434 | 434 | let $size1214312175 = size($list1214312175) | |
435 | 435 | let $acc01214312175 = 0 | |
436 | 436 | if (($size1214312175 == 0)) | |
437 | 437 | then $acc01214312175 | |
438 | 438 | else { | |
439 | 439 | let $acc11214312175 = sum($acc01214312175, $list1214312175[0]) | |
440 | 440 | if (($size1214312175 == 1)) | |
441 | 441 | then $acc11214312175 | |
442 | 442 | else { | |
443 | 443 | let $acc21214312175 = sum($acc11214312175, $list1214312175[1]) | |
444 | 444 | if (($size1214312175 == 2)) | |
445 | 445 | then $acc21214312175 | |
446 | 446 | else { | |
447 | 447 | let $acc31214312175 = sum($acc21214312175, $list1214312175[2]) | |
448 | 448 | if (($size1214312175 == 3)) | |
449 | 449 | then $acc31214312175 | |
450 | 450 | else { | |
451 | 451 | let $acc41214312175 = sum($acc31214312175, $list1214312175[3]) | |
452 | 452 | if (($size1214312175 == 4)) | |
453 | 453 | then $acc41214312175 | |
454 | 454 | else { | |
455 | 455 | let $acc51214312175 = sum($acc41214312175, $list1214312175[4]) | |
456 | 456 | if (($size1214312175 == 5)) | |
457 | 457 | then $acc51214312175 | |
458 | 458 | else { | |
459 | 459 | let $acc61214312175 = sum($acc51214312175, $list1214312175[5]) | |
460 | 460 | if (($size1214312175 == 6)) | |
461 | 461 | then $acc61214312175 | |
462 | 462 | else { | |
463 | 463 | let $acc71214312175 = sum($acc61214312175, $list1214312175[6]) | |
464 | 464 | if (($size1214312175 == 7)) | |
465 | 465 | then $acc71214312175 | |
466 | 466 | else { | |
467 | 467 | let $acc81214312175 = sum($acc71214312175, $list1214312175[7]) | |
468 | 468 | if (($size1214312175 == 8)) | |
469 | 469 | then $acc81214312175 | |
470 | 470 | else { | |
471 | 471 | let $acc91214312175 = sum($acc81214312175, $list1214312175[8]) | |
472 | 472 | if (($size1214312175 == 9)) | |
473 | 473 | then $acc91214312175 | |
474 | 474 | else { | |
475 | 475 | let $acc101214312175 = sum($acc91214312175, $list1214312175[9]) | |
476 | 476 | if (($size1214312175 == 10)) | |
477 | 477 | then $acc101214312175 | |
478 | 478 | else { | |
479 | 479 | let $acc111214312175 = sum($acc101214312175, $list1214312175[10]) | |
480 | 480 | if (($size1214312175 == 11)) | |
481 | 481 | then $acc111214312175 | |
482 | 482 | else { | |
483 | 483 | let $acc121214312175 = sum($acc111214312175, $list1214312175[11]) | |
484 | 484 | if (($size1214312175 == 12)) | |
485 | 485 | then $acc121214312175 | |
486 | 486 | else { | |
487 | 487 | let $acc131214312175 = sum($acc121214312175, $list1214312175[12]) | |
488 | 488 | if (($size1214312175 == 13)) | |
489 | 489 | then $acc131214312175 | |
490 | 490 | else { | |
491 | 491 | let $acc141214312175 = sum($acc131214312175, $list1214312175[13]) | |
492 | 492 | if (($size1214312175 == 14)) | |
493 | 493 | then $acc141214312175 | |
494 | 494 | else { | |
495 | 495 | let $acc151214312175 = sum($acc141214312175, $list1214312175[14]) | |
496 | 496 | if (($size1214312175 == 15)) | |
497 | 497 | then $acc151214312175 | |
498 | 498 | else { | |
499 | 499 | let $acc161214312175 = sum($acc151214312175, $list1214312175[15]) | |
500 | 500 | if (($size1214312175 == 16)) | |
501 | 501 | then $acc161214312175 | |
502 | 502 | else { | |
503 | 503 | let $acc171214312175 = sum($acc161214312175, $list1214312175[16]) | |
504 | 504 | if (($size1214312175 == 17)) | |
505 | 505 | then $acc171214312175 | |
506 | 506 | else { | |
507 | 507 | let $acc181214312175 = sum($acc171214312175, $list1214312175[17]) | |
508 | 508 | if (($size1214312175 == 18)) | |
509 | 509 | then $acc181214312175 | |
510 | 510 | else { | |
511 | 511 | let $acc191214312175 = sum($acc181214312175, $list1214312175[18]) | |
512 | 512 | if (($size1214312175 == 19)) | |
513 | 513 | then $acc191214312175 | |
514 | 514 | else { | |
515 | 515 | let $acc201214312175 = sum($acc191214312175, $list1214312175[19]) | |
516 | 516 | if (($size1214312175 == 20)) | |
517 | 517 | then $acc201214312175 | |
518 | 518 | else { | |
519 | 519 | let $acc211214312175 = sum($acc201214312175, $list1214312175[20]) | |
520 | 520 | throw("List size exceed 20") | |
521 | 521 | } | |
522 | 522 | } | |
523 | 523 | } | |
524 | 524 | } | |
525 | 525 | } | |
526 | 526 | } | |
527 | 527 | } | |
528 | 528 | } | |
529 | 529 | } | |
530 | 530 | } | |
531 | 531 | } | |
532 | 532 | } | |
533 | 533 | } | |
534 | 534 | } | |
535 | 535 | } | |
536 | 536 | } | |
537 | 537 | } | |
538 | 538 | } | |
539 | 539 | } | |
540 | 540 | } | |
541 | 541 | } | |
542 | 542 | } | |
543 | 543 | if ((height > rewardUpdateHeight)) | |
544 | 544 | then throw("rewardUpdateHeight < height") | |
545 | 545 | else if (if ((sumRewardPrevious != totalVoteShare)) | |
546 | 546 | then true | |
547 | 547 | else (sumRewardCurrent != totalVoteShare)) | |
548 | 548 | then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare") | |
549 | 549 | else { | |
550 | 550 | let previousRewardEntryNew = { | |
551 | 551 | let $list1248512533 = previousPools | |
552 | 552 | let $size1248512533 = size($list1248512533) | |
553 | 553 | let $acc01248512533 = nil | |
554 | 554 | if (($size1248512533 == 0)) | |
555 | 555 | then $acc01248512533 | |
556 | 556 | else { | |
557 | 557 | let $acc11248512533 = PreviousRewardEntry($acc01248512533, $list1248512533[0]) | |
558 | 558 | if (($size1248512533 == 1)) | |
559 | 559 | then $acc11248512533 | |
560 | 560 | else { | |
561 | 561 | let $acc21248512533 = PreviousRewardEntry($acc11248512533, $list1248512533[1]) | |
562 | 562 | if (($size1248512533 == 2)) | |
563 | 563 | then $acc21248512533 | |
564 | 564 | else { | |
565 | 565 | let $acc31248512533 = PreviousRewardEntry($acc21248512533, $list1248512533[2]) | |
566 | 566 | if (($size1248512533 == 3)) | |
567 | 567 | then $acc31248512533 | |
568 | 568 | else { | |
569 | 569 | let $acc41248512533 = PreviousRewardEntry($acc31248512533, $list1248512533[3]) | |
570 | 570 | if (($size1248512533 == 4)) | |
571 | 571 | then $acc41248512533 | |
572 | 572 | else { | |
573 | 573 | let $acc51248512533 = PreviousRewardEntry($acc41248512533, $list1248512533[4]) | |
574 | 574 | if (($size1248512533 == 5)) | |
575 | 575 | then $acc51248512533 | |
576 | 576 | else { | |
577 | 577 | let $acc61248512533 = PreviousRewardEntry($acc51248512533, $list1248512533[5]) | |
578 | 578 | if (($size1248512533 == 6)) | |
579 | 579 | then $acc61248512533 | |
580 | 580 | else { | |
581 | 581 | let $acc71248512533 = PreviousRewardEntry($acc61248512533, $list1248512533[6]) | |
582 | 582 | if (($size1248512533 == 7)) | |
583 | 583 | then $acc71248512533 | |
584 | 584 | else { | |
585 | 585 | let $acc81248512533 = PreviousRewardEntry($acc71248512533, $list1248512533[7]) | |
586 | 586 | if (($size1248512533 == 8)) | |
587 | 587 | then $acc81248512533 | |
588 | 588 | else { | |
589 | 589 | let $acc91248512533 = PreviousRewardEntry($acc81248512533, $list1248512533[8]) | |
590 | 590 | if (($size1248512533 == 9)) | |
591 | 591 | then $acc91248512533 | |
592 | 592 | else { | |
593 | 593 | let $acc101248512533 = PreviousRewardEntry($acc91248512533, $list1248512533[9]) | |
594 | 594 | if (($size1248512533 == 10)) | |
595 | 595 | then $acc101248512533 | |
596 | 596 | else { | |
597 | 597 | let $acc111248512533 = PreviousRewardEntry($acc101248512533, $list1248512533[10]) | |
598 | 598 | if (($size1248512533 == 11)) | |
599 | 599 | then $acc111248512533 | |
600 | 600 | else { | |
601 | 601 | let $acc121248512533 = PreviousRewardEntry($acc111248512533, $list1248512533[11]) | |
602 | 602 | if (($size1248512533 == 12)) | |
603 | 603 | then $acc121248512533 | |
604 | 604 | else { | |
605 | 605 | let $acc131248512533 = PreviousRewardEntry($acc121248512533, $list1248512533[12]) | |
606 | 606 | if (($size1248512533 == 13)) | |
607 | 607 | then $acc131248512533 | |
608 | 608 | else { | |
609 | 609 | let $acc141248512533 = PreviousRewardEntry($acc131248512533, $list1248512533[13]) | |
610 | 610 | if (($size1248512533 == 14)) | |
611 | 611 | then $acc141248512533 | |
612 | 612 | else { | |
613 | 613 | let $acc151248512533 = PreviousRewardEntry($acc141248512533, $list1248512533[14]) | |
614 | 614 | if (($size1248512533 == 15)) | |
615 | 615 | then $acc151248512533 | |
616 | 616 | else { | |
617 | 617 | let $acc161248512533 = PreviousRewardEntry($acc151248512533, $list1248512533[15]) | |
618 | 618 | if (($size1248512533 == 16)) | |
619 | 619 | then $acc161248512533 | |
620 | 620 | else { | |
621 | 621 | let $acc171248512533 = PreviousRewardEntry($acc161248512533, $list1248512533[16]) | |
622 | 622 | if (($size1248512533 == 17)) | |
623 | 623 | then $acc171248512533 | |
624 | 624 | else { | |
625 | 625 | let $acc181248512533 = PreviousRewardEntry($acc171248512533, $list1248512533[17]) | |
626 | 626 | if (($size1248512533 == 18)) | |
627 | 627 | then $acc181248512533 | |
628 | 628 | else { | |
629 | 629 | let $acc191248512533 = PreviousRewardEntry($acc181248512533, $list1248512533[18]) | |
630 | 630 | if (($size1248512533 == 19)) | |
631 | 631 | then $acc191248512533 | |
632 | 632 | else { | |
633 | 633 | let $acc201248512533 = PreviousRewardEntry($acc191248512533, $list1248512533[19]) | |
634 | 634 | if (($size1248512533 == 20)) | |
635 | 635 | then $acc201248512533 | |
636 | 636 | else { | |
637 | 637 | let $acc211248512533 = PreviousRewardEntry($acc201248512533, $list1248512533[20]) | |
638 | 638 | throw("List size exceed 20") | |
639 | 639 | } | |
640 | 640 | } | |
641 | 641 | } | |
642 | 642 | } | |
643 | 643 | } | |
644 | 644 | } | |
645 | 645 | } | |
646 | 646 | } | |
647 | 647 | } | |
648 | 648 | } | |
649 | 649 | } | |
650 | 650 | } | |
651 | 651 | } | |
652 | 652 | } | |
653 | 653 | } | |
654 | 654 | } | |
655 | 655 | } | |
656 | 656 | } | |
657 | 657 | } | |
658 | 658 | } | |
659 | 659 | } | |
660 | 660 | } | |
661 | 661 | let currentRewardEntryNew = { | |
662 | 662 | let $list1256612612 = currentPools | |
663 | 663 | let $size1256612612 = size($list1256612612) | |
664 | 664 | let $acc01256612612 = nil | |
665 | 665 | if (($size1256612612 == 0)) | |
666 | 666 | then $acc01256612612 | |
667 | 667 | else { | |
668 | 668 | let $acc11256612612 = CurrentRewardEntry($acc01256612612, $list1256612612[0]) | |
669 | 669 | if (($size1256612612 == 1)) | |
670 | 670 | then $acc11256612612 | |
671 | 671 | else { | |
672 | 672 | let $acc21256612612 = CurrentRewardEntry($acc11256612612, $list1256612612[1]) | |
673 | 673 | if (($size1256612612 == 2)) | |
674 | 674 | then $acc21256612612 | |
675 | 675 | else { | |
676 | 676 | let $acc31256612612 = CurrentRewardEntry($acc21256612612, $list1256612612[2]) | |
677 | 677 | if (($size1256612612 == 3)) | |
678 | 678 | then $acc31256612612 | |
679 | 679 | else { | |
680 | 680 | let $acc41256612612 = CurrentRewardEntry($acc31256612612, $list1256612612[3]) | |
681 | 681 | if (($size1256612612 == 4)) | |
682 | 682 | then $acc41256612612 | |
683 | 683 | else { | |
684 | 684 | let $acc51256612612 = CurrentRewardEntry($acc41256612612, $list1256612612[4]) | |
685 | 685 | if (($size1256612612 == 5)) | |
686 | 686 | then $acc51256612612 | |
687 | 687 | else { | |
688 | 688 | let $acc61256612612 = CurrentRewardEntry($acc51256612612, $list1256612612[5]) | |
689 | 689 | if (($size1256612612 == 6)) | |
690 | 690 | then $acc61256612612 | |
691 | 691 | else { | |
692 | 692 | let $acc71256612612 = CurrentRewardEntry($acc61256612612, $list1256612612[6]) | |
693 | 693 | if (($size1256612612 == 7)) | |
694 | 694 | then $acc71256612612 | |
695 | 695 | else { | |
696 | 696 | let $acc81256612612 = CurrentRewardEntry($acc71256612612, $list1256612612[7]) | |
697 | 697 | if (($size1256612612 == 8)) | |
698 | 698 | then $acc81256612612 | |
699 | 699 | else { | |
700 | 700 | let $acc91256612612 = CurrentRewardEntry($acc81256612612, $list1256612612[8]) | |
701 | 701 | if (($size1256612612 == 9)) | |
702 | 702 | then $acc91256612612 | |
703 | 703 | else { | |
704 | 704 | let $acc101256612612 = CurrentRewardEntry($acc91256612612, $list1256612612[9]) | |
705 | 705 | if (($size1256612612 == 10)) | |
706 | 706 | then $acc101256612612 | |
707 | 707 | else { | |
708 | 708 | let $acc111256612612 = CurrentRewardEntry($acc101256612612, $list1256612612[10]) | |
709 | 709 | if (($size1256612612 == 11)) | |
710 | 710 | then $acc111256612612 | |
711 | 711 | else { | |
712 | 712 | let $acc121256612612 = CurrentRewardEntry($acc111256612612, $list1256612612[11]) | |
713 | 713 | if (($size1256612612 == 12)) | |
714 | 714 | then $acc121256612612 | |
715 | 715 | else { | |
716 | 716 | let $acc131256612612 = CurrentRewardEntry($acc121256612612, $list1256612612[12]) | |
717 | 717 | if (($size1256612612 == 13)) | |
718 | 718 | then $acc131256612612 | |
719 | 719 | else { | |
720 | 720 | let $acc141256612612 = CurrentRewardEntry($acc131256612612, $list1256612612[13]) | |
721 | 721 | if (($size1256612612 == 14)) | |
722 | 722 | then $acc141256612612 | |
723 | 723 | else { | |
724 | 724 | let $acc151256612612 = CurrentRewardEntry($acc141256612612, $list1256612612[14]) | |
725 | 725 | if (($size1256612612 == 15)) | |
726 | 726 | then $acc151256612612 | |
727 | 727 | else { | |
728 | 728 | let $acc161256612612 = CurrentRewardEntry($acc151256612612, $list1256612612[15]) | |
729 | 729 | if (($size1256612612 == 16)) | |
730 | 730 | then $acc161256612612 | |
731 | 731 | else { | |
732 | 732 | let $acc171256612612 = CurrentRewardEntry($acc161256612612, $list1256612612[16]) | |
733 | 733 | if (($size1256612612 == 17)) | |
734 | 734 | then $acc171256612612 | |
735 | 735 | else { | |
736 | 736 | let $acc181256612612 = CurrentRewardEntry($acc171256612612, $list1256612612[17]) | |
737 | 737 | if (($size1256612612 == 18)) | |
738 | 738 | then $acc181256612612 | |
739 | 739 | else { | |
740 | 740 | let $acc191256612612 = CurrentRewardEntry($acc181256612612, $list1256612612[18]) | |
741 | 741 | if (($size1256612612 == 19)) | |
742 | 742 | then $acc191256612612 | |
743 | 743 | else { | |
744 | 744 | let $acc201256612612 = CurrentRewardEntry($acc191256612612, $list1256612612[19]) | |
745 | 745 | if (($size1256612612 == 20)) | |
746 | 746 | then $acc201256612612 | |
747 | 747 | else { | |
748 | 748 | let $acc211256612612 = CurrentRewardEntry($acc201256612612, $list1256612612[20]) | |
749 | 749 | throw("List size exceed 20") | |
750 | 750 | } | |
751 | 751 | } | |
752 | 752 | } | |
753 | 753 | } | |
754 | 754 | } | |
755 | 755 | } | |
756 | 756 | } | |
757 | 757 | } | |
758 | 758 | } | |
759 | 759 | } | |
760 | 760 | } | |
761 | 761 | } | |
762 | 762 | } | |
763 | 763 | } | |
764 | 764 | } | |
765 | 765 | } | |
766 | 766 | } | |
767 | 767 | } | |
768 | 768 | } | |
769 | 769 | } | |
770 | 770 | } | |
771 | 771 | } | |
772 | 772 | ((previousRewardEntryNew ++ currentRewardEntryNew) ++ [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]) | |
773 | 773 | } | |
774 | 774 | } | |
775 | 775 | ||
776 | 776 | ||
777 | 777 | ||
778 | 778 | @Callable(i) | |
779 | 779 | func shutdown () = if (!(isActive)) | |
780 | 780 | then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified"))) | |
781 | 781 | else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey))) | |
782 | 782 | then throw("Only admin can call this function") | |
783 | 783 | else suspend("Paused by admin") | |
784 | 784 | ||
785 | 785 | ||
786 | 786 | ||
787 | 787 | @Callable(i) | |
788 | 788 | func activate () = if (isActive) | |
789 | 789 | then throw("DApp is already active") | |
790 | 790 | else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey))) | |
791 | 791 | then throw("Only admin can call this function") | |
792 | 792 | else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)] | |
793 | 793 | ||
794 | 794 | ||
795 | 795 | @Verifier(tx) | |
796 | 796 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
797 | 797 |
github/deemru/w8io/026f985 72.94 ms ◑