tx · FsHxQtZZPN4eLWzWpPNVpEgF47kkkBha77o4pstxvapi

3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E:  -0.01400000 Waves

2021.01.23 21:16 [1366505] smart account 3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E > SELF 0.00000000 Waves

{ "type": 13, "id": "FsHxQtZZPN4eLWzWpPNVpEgF47kkkBha77o4pstxvapi", "fee": 1400000, "feeAssetId": null, "timestamp": 1611425849419, "version": 1, "sender": "3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E", "senderPublicKey": "ApZ1ntZBf9PT4kWa9ZRVbLxk43jqkqWHP5NWpjujGBw2", "proofs": [ "PieghyNqzT8GRq9obTJvNNXpvLf4rvkgDKqh5C2igXyfLiEdW193BW6BMC4D2hPY9CTzFMZKppztVMdMmz4VGUQ" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgUKAwgIARIFCgMICAESBQoDCAgBEgASAAAAACIAAAAADGFkbWluUHViS2V5MQEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAADGFkbWluUHViS2V5MgEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAADGFkbWluUHViS2V5MwEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAASYWRtaW5QdWJLZXlTdGFraW5nAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BBbW91bnQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BBbW91bnQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABZrZXlVc2VyVm90ZVRvdGFsQW1vdW50AgAAABdfdG90YWxfU1dPUF92b3RlX2Ftb3VudAAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAEmZhcm1pbmdTV09QQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVKghUbROkwMny0Q0BLPf3eLT5KwJcxyAdQAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BBbW91bnQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUEFtb3VudAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUEAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAOdXNlclNXT1BBbW91bnQBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BBbW91bnQJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAEmtleVRvdGFsU1dPUEFtb3VudAEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAWa2V5VXNlclZvdGVUb3RhbEFtb3VudAAAAAAAAAAAAAEAAAAXZ2V0VXNlclZvdGVPcHRpb25BbW91bnQAAAABAAAABHVzZXIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAEAAAAUZ2V0Vm90aW5nU3RhcnRIZWlnaHQAAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwAAAAR1c2VyAAAACHZvdGVOYW1lAAAABm9wdGlvbgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAAAR1dm9hCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AQAAAA9nZXRWb3RlRHVyYXRpb24AAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24BAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAQAAAAEdHZvYQQAAAAHJG1hdGNoMAUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHR2b2EFAAAAByRtYXRjaDAFAAAABHR2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHR2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IFAAAABHR2b2EBAAAAFGdldFVzZXJHZXRCYWNrQW1vdW50AAAABAAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAEdXNlcgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAA2tleQEAAAAJY2xhaW1DYWxjAAAAAQAAAAZjYWxsZXIEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwNDQxNjQ1MDMJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA0NDE2NDUwMwAAAAJfMQQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAALJHQwNDQxNjQ1MDMAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAALY2xhaW1BbW91bnQAAAAGAAAAAWkBAAAACGxvY2tTV09QAAAAAAQAAAALJHQwNDcxNTQ3OTAJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0NzE1NDc5MAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQ3MTU0NzkwAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAADBgkAAAIAAAABCQABpAAAAAEFAAAADGxhc3RJbnRlcmVzdAQAAAALJHQwNDk1OTUwNDEJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA0OTU5NTA0MQAAAAJfMQQAAAAOdXNlclNXT1BBbW91bnQIBQAAAAskdDA0OTU5NTA0MQAAAAJfMgQAAAALY2xhaW1BbW91bnQJAABrAAAAAwUAAAAOdXNlclNXT1BBbW91bnQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAABF1c2VyU1dPUEFtb3VudE5ldwkAAGQAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QQW1vdW50BQAAAAlwbXRBbW91bnQFAAAAC2NsYWltQW1vdW50BAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAQAAAAPdG90YWxTV09QQW1vdW50CQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsU1dPUEFtb3VudAUAAAAJcG10QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QQW1vdW50BQAAABF1c2VyU1dPUEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QQW1vdW50BQAAABJ0b3RhbFNXT1BMb2NrZWROZXcFAAAAA25pbAAAAAFpAQAAAAR2b3RlAAAAAwAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAARdm90ZUFkZFNXT1BBbW91bnQEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAE3VzZXJUb3RhbFZvdGVBbW91bnQJAQAAABZnZXRVc2VyVG90YWxWb3RlQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkBAAAAE2dldFZvdGVPcHRpb25BbW91bnQAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24DCQAAZgAAAAIFAAAAEXZvdGVBZGRTV09QQW1vdW50CQAAZQAAAAIFAAAADnVzZXJTV09QQW1vdW50BQAAABN1c2VyVG90YWxWb3RlQW1vdW50CQEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAQAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50CQEAAAAYZ2V0VG90YWxWb3RlT3B0aW9uQW1vdW50AAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgQAAAAMdm90ZUR1cmF0aW9uCQEAAAAPZ2V0Vm90ZUR1cmF0aW9uAAAAAQUAAAAIdm90ZU5hbWUEAAAAEXZvdGluZ1N0YXJ0SGVpZ2h0CQEAAAAUZ2V0Vm90aW5nU3RhcnRIZWlnaHQAAAABBQAAAAZvcHRpb24EAAAAFnVzZXJUb3RhbFZvdGVBbW91bnROZXcJAABkAAAAAgUAAAATdXNlclRvdGFsVm90ZUFtb3VudAUAAAARdm90ZUFkZFNXT1BBbW91bnQEAAAAF3VzZXJWb3RlT3B0aW9uQW1vdW50TmV3CQAAZAAAAAIFAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50BQAAABF2b3RlQWRkU1dPUEFtb3VudAQAAAATdm90ZU9wdGlvbkFtb3VudE5ldwkAAGQAAAACBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQFAAAAEXZvdGVBZGRTV09QQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uBQAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQFAAAAE3ZvdGVPcHRpb25BbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAUAAAAXdXNlclZvdGVPcHRpb25BbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFmtleVVzZXJWb3RlVG90YWxBbW91bnQFAAAAFnVzZXJUb3RhbFZvdGVBbW91bnROZXcFAAAAA25pbAAAAAFpAQAAAAZ1bnZvdGUAAAADAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAABB1bnZvdGVTV09QQW1vdW50BAAAAA51c2VyU1dPUEFtb3VudAkBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABN1c2VyVG90YWxWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uAwkAAGYAAAACBQAAABB1bnZvdGVTV09QQW1vdW50BQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkBAAAAEnRocm93Tm90RW5vdWdoU1dPUAAAAAAEAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkBAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24EAAAADHZvdGVEdXJhdGlvbgkBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEFAAAACHZvdGVOYW1lBAAAABF2b3RpbmdTdGFydEhlaWdodAkBAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQUAAAAGb3B0aW9uBAAAABd1c2VyVm90ZU9wdGlvbkFtb3VudE5ldwkAAGUAAAACBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAUAAAAQdW52b3RlU1dPUEFtb3VudAQAAAATdm90ZU9wdGlvbkFtb3VudE5ldwkAAGUAAAACBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQFAAAAEHVudm90ZVNXT1BBbW91bnQEAAAAEWdldEJhY2tTV09QSGVpZ2h0CQAAZAAAAAIFAAAAEXZvdGluZ1N0YXJ0SGVpZ2h0CQAAaAAAAAIAAAAAAAAAAAIFAAAADHZvdGVEdXJhdGlvbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABN2b3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQFAAAAF3VzZXJWb3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAUAAAAQdW52b3RlU1dPUEFtb3VudAUAAAADbmlsAAAAAWkBAAAAFWdldEJhY2tTV09QZnJvbU9wdGlvbgAAAAMAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAAEWdldEJhY2tTV09QSGVpZ2h0BAAAABN1c2VyVG90YWxWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARdXNlckdldEJhY2tBbW91bnQJAQAAABRnZXRVc2VyR2V0QmFja0Ftb3VudAAAAAQFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24IBQAAAAFpAAAABmNhbGxlcgUAAAARZ2V0QmFja1NXT1BIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24CAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfCQABpAAAAAEFAAAAEWdldEJhY2tTV09QSGVpZ2h0AAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAARdXNlckdldEJhY2tBbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAAAdhaXJEcm9wAAAAAAQAAAALJHQwODM4MTg0NTYJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA4MzgxODQ1NgAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDgzODE4NDU2AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAPdG90YWxTV09QQW1vdW50CQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwUAAAADbmlsAAAAAWkBAAAACWNsYWltU1dPUAAAAAAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAskdDA4OTU2OTAxMQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAALJHQwODk1NjkwMTEAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAALJHQwODk1NjkwMTEAAAACXzIEAAAADnVzZXJWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAANYXZhaWxhYmxlRnVuZAkAAGUAAAACCQAAZAAAAAIJAQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAADnVzZXJWb3RlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAAV8FAAAAEWtleVVzZXJTV09QQW1vdW50BQAAAA51c2VyVm90ZUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADWF2YWlsYWJsZUZ1bmQFAAAABFNXT1AFAAAAA25pbAAAAADSGSUd", "chainId": 84, "height": 1366505, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8kGXehA8SFTkKnqSeLHfdv22YvBAv8zwMiSWL3eUN3Pt Next: 7pe1bH26Rqu2omtNaMmvoC3ek9cboPxsnk7g4ysC14eF Diff:
OldNewDifferences
4747
4848
4949 func getLastInterestInfo () = {
50- let lastInterest = valueOrErrorMessage(getInteger(this, keyLastInterest), ("No data on the key: " + keyLastInterest))
50+ let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
5151 lastInterest
5252 }
5353
120120 func claimCalc (caller) = {
121121 let shareTokenLocked = getTotalSWOPLocked()
122122 let lastInterest = getLastInterestInfo()
123- let $t044634550 = getUserInterestInfo(caller, lastInterest)
124- let userLastInterest = $t044634550._1
125- let userShareTokensAmount = $t044634550._2
123+ let $t044164503 = getUserInterestInfo(caller, lastInterest)
124+ let userLastInterest = $t044164503._1
125+ let userShareTokensAmount = $t044164503._2
126126 let claimAmount = fraction(userShareTokensAmount, (lastInterest - userLastInterest), scaleValue)
127127 let userNewInterest = lastInterest
128128 $Tuple2(userNewInterest, claimAmount)
131131
132132 @Callable(i)
133133 func lockSWOP () = {
134- let $t047674842 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
135- let pmtAmount = $t047674842._1
136- let pmtAssetId = $t047674842._2
134+ let $t047154790 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
135+ let pmtAmount = $t047154790._1
136+ let pmtAssetId = $t047154790._2
137137 if ((pmtAssetId != SWOP))
138138 then throw("Incorrect pmtAssetId")
139139 else {
141141 if (true)
142142 then throw(toString(lastInterest))
143143 else {
144- let $t050115093 = getUserInterestInfo(i.caller, lastInterest)
145- let userLastInterest = $t050115093._1
146- let userSWOPAmount = $t050115093._2
144+ let $t049595041 = getUserInterestInfo(i.caller, lastInterest)
145+ let userLastInterest = $t049595041._1
146+ let userSWOPAmount = $t049595041._2
147147 let claimAmount = fraction(userSWOPAmount, (lastInterest - userLastInterest), scaleValue)
148148 let userSWOPAmountNew = ((userSWOPAmount + pmtAmount) + claimAmount)
149149 let userNewInterest = lastInterest
207207
208208 @Callable(i)
209209 func airDrop () = {
210- let $t084338508 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
211- let pmtAmount = $t084338508._1
212- let pmtAssetId = $t084338508._2
210+ let $t083818456 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
211+ let pmtAmount = $t083818456._1
212+ let pmtAssetId = $t083818456._2
213213 if ((pmtAssetId != SWOP))
214214 then throw("Incorrect pmtAssetId")
215215 else {
226226 func claimSWOP () = {
227227 let totalSWOPLocked = getTotalSWOPLocked()
228228 let lastInterest = getLastInterestInfo()
229- let $t090089063 = claimCalc(i.caller)
230- let userNewInterest = $t090089063._1
231- let claimAmount = $t090089063._2
229+ let $t089569011 = claimCalc(i.caller)
230+ let userNewInterest = $t089569011._1
231+ let claimAmount = $t089569011._2
232232 let userVoteAmount = getUserTotalVoteAmount(i.caller)
233233 let availableFund = ((getUserSWOPAmount(i.caller) + claimAmount) - userVoteAmount)
234234 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyLastInterest, lastInterest), IntegerEntry(((toString(i.caller) + "_") + keyUserSWOPAmount), userVoteAmount), ScriptTransfer(i.caller, availableFund, SWOP)]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU'
55
66 let adminPubKey2 = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU'
77
88 let adminPubKey3 = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU'
99
1010 let adminPubKeyStartStop = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU'
1111
1212 let adminPubKeyStaking = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU'
1313
1414 let keyLastInterest = "last_interest"
1515
1616 let keyUserLastInterest = "_last_interest"
1717
1818 let keyUserSWOPAmount = "_SWOP_amount"
1919
2020 let keyUserGetBackHeight = "_getBackHeight"
2121
2222 let keyTotalSWOPAmount = "total_SWOP_amount"
2323
2424 let keyUserVoteTotalAmount = "_total_SWOP_vote_amount"
2525
2626 let keyUserVoteOptionAmount = "_SWOP_option_amount"
2727
2828 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
2929
3030 let keyVoteName = "vote_name"
3131
3232 let keyOptionName = "_option_name"
3333
3434 let keyVotingStartHeight = "_startHeight"
3535
3636 let keyVoteDuration = "_vote_duration"
3737
3838 let farmingSWOPAddress = Address(base58'3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E')
3939
4040 let keySWOPid = "SWOP_id"
4141
4242 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
4343
4444 let scaleValue = 100000000
4545
4646 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount")
4747
4848
4949 func getLastInterestInfo () = {
50- let lastInterest = valueOrErrorMessage(getInteger(this, keyLastInterest), ("No data on the key: " + keyLastInterest))
50+ let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
5151 lastInterest
5252 }
5353
5454
5555 func getUserSWOPAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPAmount)), 0)
5656
5757
5858 func getUserInterestInfo (user,lastInterest) = {
5959 let userSWOPAmount = getUserSWOPAmount(user)
6060 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
6161 let userLastInterestValue = match userLastInterest {
6262 case userLastInterest: Int =>
6363 userLastInterest
6464 case _ =>
6565 lastInterest
6666 }
6767 $Tuple2(userLastInterestValue, userSWOPAmount)
6868 }
6969
7070
7171 func getTotalSWOPLocked () = valueOrErrorMessage(getInteger(this, keyTotalSWOPAmount), ("No data on the key: " + keyTotalSWOPAmount))
7272
7373
7474 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteTotalAmount)), 0)
7575
7676
7777 func getUserVoteOptionAmount (user) = valueOrErrorMessage(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), (("No data on the key: " + toString(user)) + keyUserVoteOptionAmount))
7878
7979
8080 func getVotingStartHeight (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVotingStartHeight)), (("No data on the key: " + voteName) + keyVotingStartHeight))
8181
8282
8383 func getVoteOptionAmount (user,voteName,option) = valueOrErrorMessage({
8484 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
8585 let uvoa = match userVoteOptionAmount {
8686 case uvoa: Int =>
8787 uvoa
8888 case uvoa: Unit =>
8989 0
9090 case _ =>
9191 throw("Match error")
9292 }
9393 uvoa
9494 }, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
9595
9696
9797 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
9898
9999
100100 func getTotalVoteOptionAmount (voteName,option) = {
101101 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
102102 let tvoa = match totalVoteOptionAmount {
103103 case tvoa: Int =>
104104 tvoa
105105 case tvoa: Unit =>
106106 0
107107 case _ =>
108108 throw("Match error")
109109 }
110110 tvoa
111111 }
112112
113113
114114 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
115115 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
116116 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
117117 }
118118
119119
120120 func claimCalc (caller) = {
121121 let shareTokenLocked = getTotalSWOPLocked()
122122 let lastInterest = getLastInterestInfo()
123- let $t044634550 = getUserInterestInfo(caller, lastInterest)
124- let userLastInterest = $t044634550._1
125- let userShareTokensAmount = $t044634550._2
123+ let $t044164503 = getUserInterestInfo(caller, lastInterest)
124+ let userLastInterest = $t044164503._1
125+ let userShareTokensAmount = $t044164503._2
126126 let claimAmount = fraction(userShareTokensAmount, (lastInterest - userLastInterest), scaleValue)
127127 let userNewInterest = lastInterest
128128 $Tuple2(userNewInterest, claimAmount)
129129 }
130130
131131
132132 @Callable(i)
133133 func lockSWOP () = {
134- let $t047674842 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
135- let pmtAmount = $t047674842._1
136- let pmtAssetId = $t047674842._2
134+ let $t047154790 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
135+ let pmtAmount = $t047154790._1
136+ let pmtAssetId = $t047154790._2
137137 if ((pmtAssetId != SWOP))
138138 then throw("Incorrect pmtAssetId")
139139 else {
140140 let lastInterest = getLastInterestInfo()
141141 if (true)
142142 then throw(toString(lastInterest))
143143 else {
144- let $t050115093 = getUserInterestInfo(i.caller, lastInterest)
145- let userLastInterest = $t050115093._1
146- let userSWOPAmount = $t050115093._2
144+ let $t049595041 = getUserInterestInfo(i.caller, lastInterest)
145+ let userLastInterest = $t049595041._1
146+ let userSWOPAmount = $t049595041._2
147147 let claimAmount = fraction(userSWOPAmount, (lastInterest - userLastInterest), scaleValue)
148148 let userSWOPAmountNew = ((userSWOPAmount + pmtAmount) + claimAmount)
149149 let userNewInterest = lastInterest
150150 let totalSWOPAmount = getTotalSWOPLocked()
151151 let totalSWOPLockedNew = (totalSWOPAmount + pmtAmount)
152152 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPAmount), userSWOPAmountNew), IntegerEntry(keyTotalSWOPAmount, totalSWOPLockedNew)]
153153 }
154154 }
155155 }
156156
157157
158158
159159 @Callable(i)
160160 func vote (voteName,option,voteAddSWOPAmount) = {
161161 let userSWOPAmount = getUserSWOPAmount(i.caller)
162162 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
163163 let userVoteOptionAmount = getVoteOptionAmount(i.caller, voteName, option)
164164 if ((voteAddSWOPAmount > (userSWOPAmount - userTotalVoteAmount)))
165165 then throwNotEnoughSWOP()
166166 else {
167167 let totalVoteOptionAmount = getTotalVoteOptionAmount(voteName, option)
168168 let voteDuration = getVoteDuration(voteName)
169169 let votingStartHeight = getVotingStartHeight(option)
170170 let userTotalVoteAmountNew = (userTotalVoteAmount + voteAddSWOPAmount)
171171 let userVoteOptionAmountNew = (userVoteOptionAmount + voteAddSWOPAmount)
172172 let voteOptionAmountNew = (totalVoteOptionAmount + voteAddSWOPAmount)
173173 [IntegerEntry((((voteName + "_") + option) + keyTotalVoteOptionAmount), voteOptionAmountNew), IntegerEntry((((voteName + option) + toString(i.caller)) + keyUserVoteOptionAmount), userVoteOptionAmountNew), IntegerEntry((toString(i.caller) + keyUserVoteTotalAmount), userTotalVoteAmountNew)]
174174 }
175175 }
176176
177177
178178
179179 @Callable(i)
180180 func unvote (voteName,option,unvoteSWOPAmount) = {
181181 let userSWOPAmount = getUserSWOPAmount(i.caller)
182182 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
183183 let userVoteOptionAmount = getVoteOptionAmount(i.caller, voteName, option)
184184 if ((unvoteSWOPAmount > userVoteOptionAmount))
185185 then throwNotEnoughSWOP()
186186 else {
187187 let totalVoteOptionAmount = getTotalVoteOptionAmount(voteName, option)
188188 let voteDuration = getVoteDuration(voteName)
189189 let votingStartHeight = getVotingStartHeight(option)
190190 let userVoteOptionAmountNew = (userVoteOptionAmount - unvoteSWOPAmount)
191191 let voteOptionAmountNew = (totalVoteOptionAmount - unvoteSWOPAmount)
192192 let getBackSWOPHeight = (votingStartHeight + (2 * voteDuration))
193193 [IntegerEntry((((voteName + "_") + option) + keyTotalVoteOptionAmount), voteOptionAmountNew), IntegerEntry((((voteName + option) + toString(i.caller)) + keyUserVoteOptionAmount), userVoteOptionAmountNew), IntegerEntry(((((((voteName + "_") + option) + "_") + toString(i.caller)) + "_") + toString(getBackSWOPHeight)), unvoteSWOPAmount)]
194194 }
195195 }
196196
197197
198198
199199 @Callable(i)
200200 func getBackSWOPfromOption (voteName,option,getBackSWOPHeight) = {
201201 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
202202 let userGetBackAmount = getUserGetBackAmount(voteName, option, i.caller, getBackSWOPHeight)
203203 [IntegerEntry(((((((voteName + "_") + option) + "_") + toString(i.caller)) + "_") + toString(getBackSWOPHeight)), 0), ScriptTransfer(i.caller, userGetBackAmount, SWOP)]
204204 }
205205
206206
207207
208208 @Callable(i)
209209 func airDrop () = {
210- let $t084338508 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
211- let pmtAmount = $t084338508._1
212- let pmtAssetId = $t084338508._2
210+ let $t083818456 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
211+ let pmtAmount = $t083818456._1
212+ let pmtAssetId = $t083818456._2
213213 if ((pmtAssetId != SWOP))
214214 then throw("Incorrect pmtAssetId")
215215 else {
216216 let totalSWOPAmount = getTotalSWOPLocked()
217217 let lastInterest = getLastInterestInfo()
218218 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPAmount))
219219 [IntegerEntry(keyLastInterest, interestNew)]
220220 }
221221 }
222222
223223
224224
225225 @Callable(i)
226226 func claimSWOP () = {
227227 let totalSWOPLocked = getTotalSWOPLocked()
228228 let lastInterest = getLastInterestInfo()
229- let $t090089063 = claimCalc(i.caller)
230- let userNewInterest = $t090089063._1
231- let claimAmount = $t090089063._2
229+ let $t089569011 = claimCalc(i.caller)
230+ let userNewInterest = $t089569011._1
231+ let claimAmount = $t089569011._2
232232 let userVoteAmount = getUserTotalVoteAmount(i.caller)
233233 let availableFund = ((getUserSWOPAmount(i.caller) + claimAmount) - userVoteAmount)
234234 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyLastInterest, lastInterest), IntegerEntry(((toString(i.caller) + "_") + keyUserSWOPAmount), userVoteAmount), ScriptTransfer(i.caller, availableFund, SWOP)]
235235 }
236236
237237

github/deemru/w8io/169f3d6 
48.30 ms