tx · 6AjCLW68rUcb41h9o39W8v2kjFe69q3t5FdhnJxV98yA

3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E:  -0.01400000 Waves

2021.01.23 21:22 [1366508] smart account 3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E > SELF 0.00000000 Waves

{ "type": 13, "id": "6AjCLW68rUcb41h9o39W8v2kjFe69q3t5FdhnJxV98yA", "fee": 1400000, "feeAssetId": null, "timestamp": 1611426135634, "version": 1, "sender": "3N5F5DCmWNzT8ZPe1tBfiXaVYzWJriaJZ9E", "senderPublicKey": "ApZ1ntZBf9PT4kWa9ZRVbLxk43jqkqWHP5NWpjujGBw2", "proofs": [ "38U19qvsnzF3datUEhVr4J5eABCFVTjrQQjQkNsLZh9yRmioDVBLBk4VZXNLJVoo99HYwN46ZLUDbEE1FXtKS4N" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgUKAwgIARIFCgMICAESBQoDCAgBEgASAAAAACIAAAAADGFkbWluUHViS2V5MQEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAADGFkbWluUHViS2V5MgEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAADGFkbWluUHViS2V5MwEAAAAgELDi6uQgdVvao3EGz2pOOnWzKruRdXrpd4DobbWyZx8AAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAASYWRtaW5QdWJLZXlTdGFraW5nAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BBbW91bnQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BBbW91bnQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABZrZXlVc2VyVm90ZVRvdGFsQW1vdW50AgAAABdfdG90YWxfU1dPUF92b3RlX2Ftb3VudAAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAEmZhcm1pbmdTV09QQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVOVyxRq1Ci2fMg88frnoRjd7lWs5SaxmagAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BBbW91bnQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUEFtb3VudAAAAAAAAAAAAAEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIAAAAEdXNlcgAAAAxsYXN0SW50ZXJlc3QEAAAADnVzZXJTV09QQW1vdW50CQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABBQAAAAR1c2VyBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BAAAABV1c2VyTGFzdEludGVyZXN0VmFsdWUEAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQUAAAAOdXNlclNXT1BBbW91bnQBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BBbW91bnQJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAEmtleVRvdGFsU1dPUEFtb3VudAEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAWa2V5VXNlclZvdGVUb3RhbEFtb3VudAAAAAAAAAAAAAEAAAAXZ2V0VXNlclZvdGVPcHRpb25BbW91bnQAAAABAAAABHVzZXIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAEAAAAUZ2V0Vm90aW5nU3RhcnRIZWlnaHQAAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwAAAAR1c2VyAAAACHZvdGVOYW1lAAAABm9wdGlvbgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAAAR1dm9hCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AQAAAA9nZXRWb3RlRHVyYXRpb24AAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24BAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAQAAAAEdHZvYQQAAAAHJG1hdGNoMAUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHR2b2EFAAAAByRtYXRjaDAFAAAABHR2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHR2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IFAAAABHR2b2EBAAAAFGdldFVzZXJHZXRCYWNrQW1vdW50AAAABAAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAEdXNlcgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAA2tleQEAAAAJY2xhaW1DYWxjAAAAAQAAAAZjYWxsZXIEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwNDQxNjQ1MDMJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA0NDE2NDUwMwAAAAJfMQQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAALJHQwNDQxNjQ1MDMAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAALY2xhaW1BbW91bnQAAAAGAAAAAWkBAAAACGxvY2tTV09QAAAAAAQAAAALJHQwNDcxNTQ3OTAJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0NzE1NDc5MAAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQ3MTU0NzkwAAAAAl8yAwYJAAACAAAAAQkAAlgAAAABBQAAAARTV09QAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDQ5NjM1MDQ1CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwNDk2MzUwNDUAAAACXzEEAAAADnVzZXJTV09QQW1vdW50CAUAAAALJHQwNDk2MzUwNDUAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QQW1vdW50CQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BBbW91bnROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUEFtb3VudAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUEFtb3VudAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BBbW91bnQFAAAACXBtdEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUEFtb3VudAUAAAARdXNlclNXT1BBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUEFtb3VudAUAAAASdG90YWxTV09QTG9ja2VkTmV3BQAAAANuaWwAAAABaQEAAAAEdm90ZQAAAAMAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAAEXZvdGVBZGRTV09QQW1vdW50BAAAAA51c2VyU1dPUEFtb3VudAkBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABN1c2VyVG90YWxWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uAwkAAGYAAAACBQAAABF2b3RlQWRkU1dPUEFtb3VudAkAAGUAAAACBQAAAA51c2VyU1dPUEFtb3VudAUAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAEnRocm93Tm90RW5vdWdoU1dPUAAAAAAEAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkBAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24EAAAADHZvdGVEdXJhdGlvbgkBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEFAAAACHZvdGVOYW1lBAAAABF2b3RpbmdTdGFydEhlaWdodAkBAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQUAAAAGb3B0aW9uBAAAABZ1c2VyVG90YWxWb3RlQW1vdW50TmV3CQAAZAAAAAIFAAAAE3VzZXJUb3RhbFZvdGVBbW91bnQFAAAAEXZvdGVBZGRTV09QQW1vdW50BAAAABd1c2VyVm90ZU9wdGlvbkFtb3VudE5ldwkAAGQAAAACBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAUAAAARdm90ZUFkZFNXT1BBbW91bnQEAAAAE3ZvdGVPcHRpb25BbW91bnROZXcJAABkAAAAAgUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABF2b3RlQWRkU1dPUEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABN2b3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQFAAAAF3VzZXJWb3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZrZXlVc2VyVm90ZVRvdGFsQW1vdW50BQAAABZ1c2VyVG90YWxWb3RlQW1vdW50TmV3BQAAAANuaWwAAAABaQEAAAAGdW52b3RlAAAAAwAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAQdW52b3RlU1dPUEFtb3VudAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50CQEAAAATZ2V0Vm90ZU9wdGlvbkFtb3VudAAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgMJAABmAAAAAgUAAAAQdW52b3RlU1dPUEFtb3VudAUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAABAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAQAAABhnZXRUb3RhbFZvdGVPcHRpb25BbW91bnQAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uBAAAAAx2b3RlRHVyYXRpb24JAQAAAA9nZXRWb3RlRHVyYXRpb24AAAABBQAAAAh2b3RlTmFtZQQAAAARdm90aW5nU3RhcnRIZWlnaHQJAQAAABRnZXRWb3RpbmdTdGFydEhlaWdodAAAAAEFAAAABm9wdGlvbgQAAAAXdXNlclZvdGVPcHRpb25BbW91bnROZXcJAABlAAAAAgUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQFAAAAEHVudm90ZVNXT1BBbW91bnQEAAAAE3ZvdGVPcHRpb25BbW91bnROZXcJAABlAAAAAgUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABB1bnZvdGVTV09QQW1vdW50BAAAABFnZXRCYWNrU1dPUEhlaWdodAkAAGQAAAACBQAAABF2b3RpbmdTdGFydEhlaWdodAkAAGgAAAACAAAAAAAAAAACBQAAAAx2b3RlRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAUAAAATdm90ZU9wdGlvbkFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BQAAABd1c2VyVm90ZU9wdGlvbkFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQFAAAAEHVudm90ZVNXT1BBbW91bnQFAAAAA25pbAAAAAFpAQAAABVnZXRCYWNrU1dPUGZyb21PcHRpb24AAAADAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEXVzZXJHZXRCYWNrQW1vdW50CQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCAUAAAABaQAAAAZjYWxsZXIFAAAAEWdldEJhY2tTV09QSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEXVzZXJHZXRCYWNrQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAAHYWlyRHJvcAAAAAAEAAAACyR0MDgzODU4NDYwCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwODM4NTg0NjAAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA4Mzg1ODQ2MAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUEFtb3VudAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAljbGFpbVNXT1AAAAAABAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwODk2MDkwMTUJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAACyR0MDg5NjA5MDE1AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAACyR0MDg5NjA5MDE1AAAAAl8yBAAAAA51c2VyVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADWF2YWlsYWJsZUZ1bmQJAABlAAAAAgkAAGQAAAACCQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAA51c2VyVm90ZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfBQAAABFrZXlVc2VyU1dPUEFtb3VudAUAAAAOdXNlclZvdGVBbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA1hdmFpbGFibGVGdW5kBQAAAARTV09QBQAAAANuaWwAAAAAMM13dw==", "chainId": 84, "height": 1366508, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BiBBCh4p91MqhtWz2cgNncuTFb7tUhKCY2brG63KnucJ Next: 8UGny17Q5SZLGZM5fLKbXLtYJYBjRpZURWPbsz2vXQZq Diff:
OldNewDifferences
3535
3636 let keyVoteDuration = "_vote_duration"
3737
38-let farmingSWOPAddress = Address(base58'3N5RwgsgL4S1XHCrF29y9PjPzPpW1XbWBBZ')
38+let farmingSWOPAddress = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb')
3939
4040 let keySWOPid = "SWOP_id"
4141
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
38-let farmingSWOPAddress = Address(base58'3N5RwgsgL4S1XHCrF29y9PjPzPpW1XbWBBZ')
38+let farmingSWOPAddress = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb')
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 () = {
5050 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()
123123 let $t044164503 = getUserInterestInfo(caller, lastInterest)
124124 let userLastInterest = $t044164503._1
125125 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 () = {
134134 let $t047154790 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
135135 let pmtAmount = $t047154790._1
136136 let pmtAssetId = $t047154790._2
137137 if (true)
138138 then throw(toBase58String(SWOP))
139139 else if ((pmtAssetId != SWOP))
140140 then throw("Incorrect pmtAssetId")
141141 else {
142142 let lastInterest = getLastInterestInfo()
143143 let $t049635045 = getUserInterestInfo(i.caller, lastInterest)
144144 let userLastInterest = $t049635045._1
145145 let userSWOPAmount = $t049635045._2
146146 let claimAmount = fraction(userSWOPAmount, (lastInterest - userLastInterest), scaleValue)
147147 let userSWOPAmountNew = ((userSWOPAmount + pmtAmount) + claimAmount)
148148 let userNewInterest = lastInterest
149149 let totalSWOPAmount = getTotalSWOPLocked()
150150 let totalSWOPLockedNew = (totalSWOPAmount + pmtAmount)
151151 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPAmount), userSWOPAmountNew), IntegerEntry(keyTotalSWOPAmount, totalSWOPLockedNew)]
152152 }
153153 }
154154
155155
156156
157157 @Callable(i)
158158 func vote (voteName,option,voteAddSWOPAmount) = {
159159 let userSWOPAmount = getUserSWOPAmount(i.caller)
160160 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
161161 let userVoteOptionAmount = getVoteOptionAmount(i.caller, voteName, option)
162162 if ((voteAddSWOPAmount > (userSWOPAmount - userTotalVoteAmount)))
163163 then throwNotEnoughSWOP()
164164 else {
165165 let totalVoteOptionAmount = getTotalVoteOptionAmount(voteName, option)
166166 let voteDuration = getVoteDuration(voteName)
167167 let votingStartHeight = getVotingStartHeight(option)
168168 let userTotalVoteAmountNew = (userTotalVoteAmount + voteAddSWOPAmount)
169169 let userVoteOptionAmountNew = (userVoteOptionAmount + voteAddSWOPAmount)
170170 let voteOptionAmountNew = (totalVoteOptionAmount + voteAddSWOPAmount)
171171 [IntegerEntry((((voteName + "_") + option) + keyTotalVoteOptionAmount), voteOptionAmountNew), IntegerEntry((((voteName + option) + toString(i.caller)) + keyUserVoteOptionAmount), userVoteOptionAmountNew), IntegerEntry((toString(i.caller) + keyUserVoteTotalAmount), userTotalVoteAmountNew)]
172172 }
173173 }
174174
175175
176176
177177 @Callable(i)
178178 func unvote (voteName,option,unvoteSWOPAmount) = {
179179 let userSWOPAmount = getUserSWOPAmount(i.caller)
180180 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
181181 let userVoteOptionAmount = getVoteOptionAmount(i.caller, voteName, option)
182182 if ((unvoteSWOPAmount > userVoteOptionAmount))
183183 then throwNotEnoughSWOP()
184184 else {
185185 let totalVoteOptionAmount = getTotalVoteOptionAmount(voteName, option)
186186 let voteDuration = getVoteDuration(voteName)
187187 let votingStartHeight = getVotingStartHeight(option)
188188 let userVoteOptionAmountNew = (userVoteOptionAmount - unvoteSWOPAmount)
189189 let voteOptionAmountNew = (totalVoteOptionAmount - unvoteSWOPAmount)
190190 let getBackSWOPHeight = (votingStartHeight + (2 * voteDuration))
191191 [IntegerEntry((((voteName + "_") + option) + keyTotalVoteOptionAmount), voteOptionAmountNew), IntegerEntry((((voteName + option) + toString(i.caller)) + keyUserVoteOptionAmount), userVoteOptionAmountNew), IntegerEntry(((((((voteName + "_") + option) + "_") + toString(i.caller)) + "_") + toString(getBackSWOPHeight)), unvoteSWOPAmount)]
192192 }
193193 }
194194
195195
196196
197197 @Callable(i)
198198 func getBackSWOPfromOption (voteName,option,getBackSWOPHeight) = {
199199 let userTotalVoteAmount = getUserTotalVoteAmount(i.caller)
200200 let userGetBackAmount = getUserGetBackAmount(voteName, option, i.caller, getBackSWOPHeight)
201201 [IntegerEntry(((((((voteName + "_") + option) + "_") + toString(i.caller)) + "_") + toString(getBackSWOPHeight)), 0), ScriptTransfer(i.caller, userGetBackAmount, SWOP)]
202202 }
203203
204204
205205
206206 @Callable(i)
207207 func airDrop () = {
208208 let $t083858460 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
209209 let pmtAmount = $t083858460._1
210210 let pmtAssetId = $t083858460._2
211211 if ((pmtAssetId != SWOP))
212212 then throw("Incorrect pmtAssetId")
213213 else {
214214 let totalSWOPAmount = getTotalSWOPLocked()
215215 let lastInterest = getLastInterestInfo()
216216 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPAmount))
217217 [IntegerEntry(keyLastInterest, interestNew)]
218218 }
219219 }
220220
221221
222222
223223 @Callable(i)
224224 func claimSWOP () = {
225225 let totalSWOPLocked = getTotalSWOPLocked()
226226 let lastInterest = getLastInterestInfo()
227227 let $t089609015 = claimCalc(i.caller)
228228 let userNewInterest = $t089609015._1
229229 let claimAmount = $t089609015._2
230230 let userVoteAmount = getUserTotalVoteAmount(i.caller)
231231 let availableFund = ((getUserSWOPAmount(i.caller) + claimAmount) - userVoteAmount)
232232 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyLastInterest, lastInterest), IntegerEntry(((toString(i.caller) + "_") + keyUserSWOPAmount), userVoteAmount), ScriptTransfer(i.caller, availableFund, SWOP)]
233233 }
234234
235235

github/deemru/w8io/169f3d6 
51.40 ms