tx · E99WbQQiT9Rg2MPrmg613xK2vDMBXesKPvxhqBX5zYGt

3PJebSUDPNuitCY1w5hJPWpqA3Rv2HHWZFi:  -0.01000000 Waves

2021.01.29 12:22 [2438329] smart account 3PJebSUDPNuitCY1w5hJPWpqA3Rv2HHWZFi > SELF 0.00000000 Waves

{ "type": 13, "id": "E99WbQQiT9Rg2MPrmg613xK2vDMBXesKPvxhqBX5zYGt", "fee": 1000000, "feeAssetId": null, "timestamp": 1611912245004, "version": 2, "chainId": 87, "sender": "3PJebSUDPNuitCY1w5hJPWpqA3Rv2HHWZFi", "senderPublicKey": "QGSwtfDLcJa8khhtZ6xkuUbryPgLxUnaXeV2QMMzaC3", "proofs": [ "673C7nGpSnsGowjaBC2hoGCRUawsLbuDwfqbMx3Xc1dHWKvPQUcBeSApdHaXft5dawZkudQPv42xEZbRE8vNAWiJ" ], "script": "base64:AAIEAAAAAAAAAA8IAhIAEgASAwoBARIAEgAAAAAjAAAAAAxhZG1pblB1YktleTEBAAAAICHEFJnl/LOLBKJhHIwsvwBTDs+yLqpGNyw3nxBSPWEGAAAAAAxhZG1pblB1YktleTIBAAAAICHEFJnl/LOLBKJhHIwsvwBTDs+yLqpGNyw3nxBSPWEGAAAAAAxhZG1pblB1YktleTMBAAAAICHEFJnl/LOLBKJhHIwsvwBTDs+yLqpGNyw3nxBSPWEGAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUEFtb3VudAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUEFtb3VudAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAFmtleVVzZXJWb3RlVG90YWxBbW91bnQCAAAAF190b3RhbF9TV09QX3ZvdGVfYW1vdW50AAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAASZmFybWluZ1NXT1BBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXz234htfyGcateY3YoRC3RpsqMGnTnbGnAAAAAAlrZXlTV09QaWQCAAAAB1NXT1BfaWQAAAAABFNXT1AJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAASZmFybWluZ1NXT1BBZGRyZXNzBQAAAAlrZXlTV09QaWQAAAAACnNjYWxlVmFsdWUAAAAAAAX14QABAAAAEnRocm93Tm90RW5vdWdoU1dPUAAAAAAJAAACAAAAAQIAAABGTm90IGVub3VnaCBTV09QOiB1c2VyU1dPUEFtb3VudCAtIHVzZXJUb3RhbFZvdGVBbW91bnQgPCB2b3RlU1dPUEFtb3VudAEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA9rZXlMYXN0SW50ZXJlc3QAAAAAAAAAAAAFAAAADGxhc3RJbnRlcmVzdAEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEWtleVVzZXJTV09QQW1vdW50AAAAAAAAAAAAAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUEAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAOdXNlclNXT1BBbW91bnQBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QQW1vdW50AAAAAAAAAAAAAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABZrZXlVc2VyVm90ZVRvdGFsQW1vdW50AAAAAAAAAAAAAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0Vm90ZU9wdGlvbkFtb3VudAAAAAMAAAAEdXNlcgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQEAAAABHV2b2EEAAAAByRtYXRjaDAFAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHV2b2EFAAAAByRtYXRjaDAFAAAABHV2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHV2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgUAAAAEdXZvYQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAEAAAAPZ2V0Vm90ZUR1cmF0aW9uAAAAAQAAAAh2b3RlTmFtZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uAQAAABhnZXRUb3RhbFZvdGVPcHRpb25BbW91bnQAAAACAAAACHZvdGVOYW1lAAAABm9wdGlvbgQAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uBQAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQEAAAABHR2b2EEAAAAByRtYXRjaDAFAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR0dm9hBQAAAAckbWF0Y2gwBQAAAAR0dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR0dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAAAR0dm9hAQAAABRnZXRVc2VyR2V0QmFja0Ftb3VudAAAAAQAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAABHVzZXIAAAARZ2V0QmFja1NXT1BIZWlnaHQEAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgIAAAABXwkABCUAAAABBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAAEWdldEJhY2tTV09QSGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAANrZXkBAAAACWNsYWltQ2FsYwAAAAEAAAAGY2FsbGVyBAAAABBzaGFyZVRva2VuTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDQzMDg0Mzg4CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwNDMwODQzODgAAAACXzEEAAAADnVzZXJTV09QQW1vdW50CAUAAAALJHQwNDMwODQzODgAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QQW1vdW50CQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAUAAAABaQEAAAAHYWlyRHJvcAAAAAAEAAAACyR0MDQ1OTA0NjY1CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwNDU5MDQ2NjUAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA0NTkwNDY2NQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUEFtb3VudAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUEFtb3VudE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BBbW91bnQFAAAACXBtdEFtb3VudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QQW1vdW50BQAAABJ0b3RhbFNXT1BBbW91bnROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAAEAAAACyR0MDUxOTY1MjcxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwNTE5NjUyNzEAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA1MTk2NTI3MQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAskdDA1Mzg3NTQ2OQkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADGxhc3RJbnRlcmVzdAQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAACyR0MDUzODc1NDY5AAAAAl8xBAAAAA51c2VyU1dPUEFtb3VudAgFAAAACyR0MDUzODc1NDY5AAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUEFtb3VudAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QQW1vdW50TmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BBbW91bnQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BBbW91bnQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxTV09QQW1vdW50BQAAAAlwbXRBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BBbW91bnQFAAAAEXVzZXJTV09QQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BBbW91bnQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QYW1vdW50CQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACyR0MDYxNzA2MjI1CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA2MTcwNjIyNQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAskdDA2MTcwNjIyNQAAAAJfMgQAAAAOdXNlclZvdGVBbW91bnQJAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA1hdmFpbGFibGVGdW5kCQAAZQAAAAIFAAAADnVzZXJTV09QYW1vdW50BQAAAA51c2VyVm90ZUFtb3VudAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAADWF2YWlsYWJsZUZ1bmQJAAACAAAAAQIAAAAed2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVGdW5kBAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABlAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIFAAAADWF2YWlsYWJsZUZ1bmQFAAAADndpdGhkcmF3QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QQW1vdW50BQAAABF1c2VyU1dPUGFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QQW1vdW50BQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDcxMzc3MTkyCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA3MTM3NzE5MgAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAskdDA3MTM3NzE5MgAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAEU1dPUAUAAAADbmlsAAAAAWkBAAAAEWNsYWltQW5kU3Rha2VTV09QAAAAAAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDc4Mzk3ODk0CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAAskdDA3ODM5Nzg5NAAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAskdDA3ODM5Nzg5NAAAAAJfMgQAAAAOdXNlclZvdGVBbW91bnQJAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA1hdmFpbGFibGVGdW5kCQAAZQAAAAIJAABkAAAAAgkBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAUAAAAOdXNlclZvdGVBbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAADWF2YWlsYWJsZUZ1bmQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QQW1vdW50CQAAZAAAAAIFAAAADWF2YWlsYWJsZUZ1bmQFAAAADnVzZXJWb3RlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAEDR40E=", "height": 2438329, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 9M3nhfNXtaPLPYHaVEJF65e6DA7717UgXKtwCKfvdHpk Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let adminPubKey1 = base58'3GosNwUNbCvnT3KwCmG1R4AWN7HQQawtLF4ehP4sNPvd'
5+
6+let adminPubKey2 = base58'3GosNwUNbCvnT3KwCmG1R4AWN7HQQawtLF4ehP4sNPvd'
7+
8+let adminPubKey3 = base58'3GosNwUNbCvnT3KwCmG1R4AWN7HQQawtLF4ehP4sNPvd'
9+
10+let keyLastInterest = "last_interest"
11+
12+let keyUserLastInterest = "_last_interest"
13+
14+let keyUserSWOPAmount = "_SWOP_amount"
15+
16+let keyUserGetBackHeight = "_getBackHeight"
17+
18+let keyTotalSWOPAmount = "total_SWOP_amount"
19+
20+let keyUserVoteTotalAmount = "_total_SWOP_vote_amount"
21+
22+let keyUserVoteOptionAmount = "_SWOP_option_amount"
23+
24+let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
25+
26+let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
27+
28+let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
29+
30+let keyVoteName = "vote_name"
31+
32+let keyOptionName = "_option_name"
33+
34+let keyVotingStartHeight = "_startHeight"
35+
36+let keyVoteDuration = "_vote_duration"
37+
38+let farmingSWOPAddress = Address(base58'3PLqgLrtCTShux8gkYPRx4PAJ1JvUg9BLwG')
39+
40+let keySWOPid = "SWOP_id"
41+
42+let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
43+
44+let scaleValue = 100000000
45+
46+func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount")
47+
48+
49+func getLastInterestInfo () = {
50+ let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
51+ lastInterest
52+ }
53+
54+
55+func getUserSWOPAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPAmount)), 0)
56+
57+
58+func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
59+
60+
61+func getUserInterestInfo (user,lastInterest) = {
62+ let userSWOPAmount = getUserSWOPAmount(user)
63+ let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
64+ let userLastInterestValue = match userLastInterest {
65+ case userLastInterest: Int =>
66+ userLastInterest
67+ case _ =>
68+ lastInterest
69+ }
70+ $Tuple2(userLastInterestValue, userSWOPAmount)
71+ }
72+
73+
74+func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPAmount), 0)
75+
76+
77+func getUserTotalVoteAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteTotalAmount)), 0)
78+
79+
80+func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
81+
82+
83+func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
84+
85+
86+func getVoteOptionAmount (user,voteName,option) = {
87+ let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
88+ let uvoa = match userVoteOptionAmount {
89+ case uvoa: Int =>
90+ uvoa
91+ case uvoa: Unit =>
92+ 0
93+ case _ =>
94+ throw("Match error")
95+ }
96+ valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
97+ }
98+
99+
100+func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
101+
102+
103+func getTotalVoteOptionAmount (voteName,option) = {
104+ let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
105+ let tvoa = match totalVoteOptionAmount {
106+ case tvoa: Int =>
107+ tvoa
108+ case tvoa: Unit =>
109+ 0
110+ case _ =>
111+ throw("Match error")
112+ }
113+ tvoa
114+ }
115+
116+
117+func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
118+ let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
119+ valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
120+ }
121+
122+
123+func claimCalc (caller) = {
124+ let shareTokenLocked = getTotalSWOPLocked()
125+ let lastInterest = getLastInterestInfo()
126+ let $t043084388 = getUserInterestInfo(caller, lastInterest)
127+ let userLastInterest = $t043084388._1
128+ let userSWOPAmount = $t043084388._2
129+ let claimAmount = fraction(userSWOPAmount, (lastInterest - userLastInterest), scaleValue)
130+ let userNewInterest = lastInterest
131+ $Tuple2(userNewInterest, claimAmount)
132+ }
133+
134+
135+@Callable(i)
136+func airDrop () = {
137+ let $t045904665 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
138+ let pmtAmount = $t045904665._1
139+ let pmtAssetId = $t045904665._2
140+ if ((pmtAssetId != SWOP))
141+ then throw("Incorrect pmtAssetId")
142+ else {
143+ let totalSWOPAmount = getTotalSWOPLocked()
144+ let totalSWOPAmountNew = (totalSWOPAmount + pmtAmount)
145+ let lastInterest = getLastInterestInfo()
146+ let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPAmount))
147+[IntegerEntry(keyLastInterest, interestNew), IntegerEntry(keyTotalSWOPAmount, totalSWOPAmountNew)]
148+ }
149+ }
150+
151+
152+
153+@Callable(i)
154+func lockSWOP () = {
155+ let $t051965271 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
156+ let pmtAmount = $t051965271._1
157+ let pmtAssetId = $t051965271._2
158+ if ((pmtAssetId != SWOP))
159+ then throw("Incorrect pmtAssetId")
160+ else {
161+ let lastInterest = getLastInterestInfo()
162+ let $t053875469 = getUserInterestInfo(i.caller, lastInterest)
163+ let userLastInterest = $t053875469._1
164+ let userSWOPAmount = $t053875469._2
165+ let claimAmount = fraction(userSWOPAmount, (lastInterest - userLastInterest), scaleValue)
166+ let userSWOPAmountNew = ((userSWOPAmount + pmtAmount) + claimAmount)
167+ let userNewInterest = lastInterest
168+ let totalSWOPAmount = getTotalSWOPLocked()
169+ let totalSWOPLockedNew = (totalSWOPAmount + pmtAmount)
170+[IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPAmount), userSWOPAmountNew), IntegerEntry(keyTotalSWOPAmount, totalSWOPLockedNew)]
171+ }
172+ }
173+
174+
175+
176+@Callable(i)
177+func withdrawSWOP (withdrawAmount) = {
178+ let totalSWOPLocked = getTotalSWOPLocked()
179+ let userSWOPamount = getUserSWOPAmount(i.caller)
180+ let $t061706225 = claimCalc(i.caller)
181+ let userNewInterest = $t061706225._1
182+ let claimAmount = $t061706225._2
183+ let userVoteAmount = getUserTotalVoteAmount(i.caller)
184+ let availableFund = (userSWOPamount - userVoteAmount)
185+ if ((withdrawAmount > availableFund))
186+ then throw("withdrawAmount > availableFund")
187+ else {
188+ let totalSWOPLockedNew = (totalSWOPLocked - withdrawAmount)
189+ let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
190+ let userSWOPamountNew = (availableFund - withdrawAmount)
191+[IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPAmount), userSWOPamountNew), IntegerEntry(keyTotalSWOPAmount, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP)]
192+ }
193+ }
194+
195+
196+
197+@Callable(i)
198+func claimAndWithdrawSWOP () = {
199+ let totalSWOPLocked = getTotalSWOPLocked()
200+ let lastInterest = getLastInterestInfo()
201+ let $t071377192 = claimCalc(i.caller)
202+ let userNewInterest = $t071377192._1
203+ let claimAmount = $t071377192._2
204+ let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
205+ let userClaimedAmountNew = (userClaimedAmount + claimAmount)
206+[IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyLastInterest, lastInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
207+ }
208+
209+
210+
211+@Callable(i)
212+func claimAndStakeSWOP () = {
213+ let totalSWOPLocked = getTotalSWOPLocked()
214+ let lastInterest = getLastInterestInfo()
215+ let $t078397894 = claimCalc(i.caller)
216+ let userNewInterest = $t078397894._1
217+ let claimAmount = $t078397894._2
218+ let userVoteAmount = getUserTotalVoteAmount(i.caller)
219+ let availableFund = ((getUserSWOPAmount(i.caller) + claimAmount) - userVoteAmount)
220+ let totalSWOPLockedNew = (totalSWOPLocked - availableFund)
221+ let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
222+ let userClaimedAmountNew = (userClaimedAmount + claimAmount)
223+[IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyLastInterest, lastInterest), IntegerEntry((toString(i.caller) + keyUserSWOPAmount), (availableFund + userVoteAmount)), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
224+ }
225+
226+

github/deemru/w8io/3ef1775 
92.17 ms