tx · 3Tdkx8yoS5hubKuViF6czsLpQLN7iDWMSmuynZR2dTJJ
3N4LZUtraMUi2ABEMkny2jPuW4YtMb1Mptu: -0.01400000 Waves
2021.01.23 22:26 [1366572] smart account 3N4LZUtraMUi2ABEMkny2jPuW4YtMb1Mptu > SELF 0.00000000 Waves
{
"type": 13,
"id": "3Tdkx8yoS5hubKuViF6czsLpQLN7iDWMSmuynZR2dTJJ",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1611430058739,
"version": 1,
"sender": "3N4LZUtraMUi2ABEMkny2jPuW4YtMb1Mptu",
"senderPublicKey": "5HCGPojca71eK6HQ2LLv6xriZLjgp7V5febuNekZMZgX",
"proofs": [
"24U2QuLGQ4sHemgRAtSwx6Suj1GJr1Ez5BLcED1q7be2SFtmVNYK9x2D5SKF5uSPLAy94q9kRCec6aHGjnyngjx2"
],
"script": "base64:AAIEAAAAAAAAAB8IAhIAEgUKAwgIARIFCgMICAESBQoDCAgBEgASABIAAAAAJAAAAAAMYWRtaW5QdWJLZXkxAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAAMYWRtaW5QdWJLZXkyAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAAMYWRtaW5QdWJLZXkzAQAAACAQsOLq5CB1W9qjcQbPak46dbMqu5F1eul3gOhttbJnHwAAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3ABAAAAIBCw4urkIHVb2qNxBs9qTjp1syq7kXV66XeA6G21smcfAAAAABJhZG1pblB1YktleVN0YWtpbmcBAAAAIBCw4urkIHVb2qNxBs9qTjp1syq7kXV66XeA6G21smcfAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUEFtb3VudAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUEFtb3VudAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAFmtleVVzZXJWb3RlVG90YWxBbW91bnQCAAAAF190b3RhbF9TV09QX3ZvdGVfYW1vdW50AAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AgAAABNTV09QX2NsYWltZWRfYW1vdW50AAAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQCAAAAGHRvdGFsX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAALa2V5Vm90ZU5hbWUCAAAACXZvdGVfbmFtZQAAAAANa2V5T3B0aW9uTmFtZQIAAAAMX29wdGlvbl9uYW1lAAAAABRrZXlWb3RpbmdTdGFydEhlaWdodAIAAAAMX3N0YXJ0SGVpZ2h0AAAAAA9rZXlWb3RlRHVyYXRpb24CAAAADl92b3RlX2R1cmF0aW9uAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTlcsUatQotnzIPPH656EY3e5VrOUmsZmoAAAAACWtleVNXT1BpZAIAAAAHU1dPUF9pZAAAAAAEU1dPUAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAABJmYXJtaW5nU1dPUEFkZHJlc3MFAAAACWtleVNXT1BpZAAAAAAKc2NhbGVWYWx1ZQAAAAAABfXhAAEAAAASdGhyb3dOb3RFbm91Z2hTV09QAAAAAAkAAAIAAAABAgAAAEZOb3QgZW5vdWdoIFNXT1A6IHVzZXJTV09QQW1vdW50IC0gdXNlclRvdGFsVm90ZUFtb3VudCA8IHZvdGVTV09QQW1vdW50AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2tleUxhc3RJbnRlcmVzdAAAAAAAAAAAAAUAAAAMbGFzdEludGVyZXN0AQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAARa2V5VXNlclNXT1BBbW91bnQAAAAAAAAAAAABAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABJrZXlUb3RhbFNXT1BBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAFmtleVVzZXJWb3RlVG90YWxBbW91bnQAAAAAAAAAAAABAAAAF2dldFVzZXJWb3RlT3B0aW9uQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAAAAAAAAAEAAAAUZ2V0Vm90aW5nU3RhcnRIZWlnaHQAAAABAAAACHZvdGVOYW1lCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AAAAAAAAAAAAAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwAAAAR1c2VyAAAACHZvdGVOYW1lAAAABm9wdGlvbgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAAAR1dm9hCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50AQAAAA9nZXRWb3RlRHVyYXRpb24AAAABAAAACHZvdGVOYW1lCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24BAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAQAAAAEdHZvYQQAAAAHJG1hdGNoMAUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHR2b2EFAAAAByRtYXRjaDAFAAAABHR2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHR2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IFAAAABHR2b2EBAAAAFGdldFVzZXJHZXRCYWNrQW1vdW50AAAABAAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAEdXNlcgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAADa2V5CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAA2tleQEAAAAJY2xhaW1DYWxjAAAAAQAAAAZjYWxsZXIEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwNDQ1MjQ1MzkJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA0NDUyNDUzOQAAAAJfMQQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAALJHQwNDQ1MjQ1MzkAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAFFAAAAAIFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAALY2xhaW1BbW91bnQAAAAHAAAAAWkBAAAACGxvY2tTV09QAAAAAAQAAAALJHQwNDc1MTQ4MjYJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA0NzUxNDgyNgAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDQ3NTE0ODI2AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDQ5NDI1MDI0CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwNDk0MjUwMjQAAAACXzEEAAAADnVzZXJTV09QQW1vdW50CAUAAAALJHQwNDk0MjUwMjQAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QQW1vdW50CQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BBbW91bnROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUEFtb3VudAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUEFtb3VudAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BBbW91bnQFAAAACXBtdEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUEFtb3VudAUAAAARdXNlclNXT1BBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUEFtb3VudAUAAAASdG90YWxTV09QTG9ja2VkTmV3BQAAAANuaWwAAAABaQEAAAAEdm90ZQAAAAMAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAAEXZvdGVBZGRTV09QQW1vdW50BAAAAA51c2VyU1dPUEFtb3VudAkBAAAAEWdldFVzZXJTV09QQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABN1c2VyVG90YWxWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAQAAABNnZXRWb3RlT3B0aW9uQW1vdW50AAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uAwkAAGYAAAACBQAAABF2b3RlQWRkU1dPUEFtb3VudAkAAGUAAAACBQAAAA51c2VyU1dPUEFtb3VudAUAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAEnRocm93Tm90RW5vdWdoU1dPUAAAAAAEAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkBAAAAGGdldFRvdGFsVm90ZU9wdGlvbkFtb3VudAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24EAAAADHZvdGVEdXJhdGlvbgkBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEFAAAACHZvdGVOYW1lBAAAABF2b3RpbmdTdGFydEhlaWdodAkBAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQUAAAAGb3B0aW9uBAAAABZ1c2VyVG90YWxWb3RlQW1vdW50TmV3CQAAZAAAAAIFAAAAE3VzZXJUb3RhbFZvdGVBbW91bnQFAAAAEXZvdGVBZGRTV09QQW1vdW50BAAAABd1c2VyVm90ZU9wdGlvbkFtb3VudE5ldwkAAGQAAAACBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAUAAAARdm90ZUFkZFNXT1BBbW91bnQEAAAAE3ZvdGVPcHRpb25BbW91bnROZXcJAABkAAAAAgUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABF2b3RlQWRkU1dPUEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABN2b3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQFAAAAF3VzZXJWb3RlT3B0aW9uQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZrZXlVc2VyVm90ZVRvdGFsQW1vdW50BQAAABZ1c2VyVG90YWxWb3RlQW1vdW50TmV3BQAAAANuaWwAAAABaQEAAAAGdW52b3RlAAAAAwAAAAh2b3RlTmFtZQAAAAZvcHRpb24AAAAQdW52b3RlU1dPUEFtb3VudAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50CQEAAAATZ2V0Vm90ZU9wdGlvbkFtb3VudAAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgMJAABmAAAAAgUAAAAQdW52b3RlU1dPUEFtb3VudAUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQJAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAABAAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQJAQAAABhnZXRUb3RhbFZvdGVPcHRpb25BbW91bnQAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uBAAAAAx2b3RlRHVyYXRpb24JAQAAAA9nZXRWb3RlRHVyYXRpb24AAAABBQAAAAh2b3RlTmFtZQQAAAARdm90aW5nU3RhcnRIZWlnaHQJAQAAABRnZXRWb3RpbmdTdGFydEhlaWdodAAAAAEFAAAABm9wdGlvbgQAAAAXdXNlclZvdGVPcHRpb25BbW91bnROZXcJAABlAAAAAgUAAAAUdXNlclZvdGVPcHRpb25BbW91bnQFAAAAEHVudm90ZVNXT1BBbW91bnQEAAAAE3ZvdGVPcHRpb25BbW91bnROZXcJAABlAAAAAgUAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50BQAAABB1bnZvdGVTV09QQW1vdW50BAAAABFnZXRCYWNrU1dPUEhlaWdodAkAAGQAAAACBQAAABF2b3RpbmdTdGFydEhlaWdodAkAAGgAAAACAAAAAAAAAAACBQAAAAx2b3RlRHVyYXRpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24FAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAUAAAATdm90ZU9wdGlvbkFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BQAAABd1c2VyVm90ZU9wdGlvbkFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXICAAAAAV8JAAGkAAAAAQUAAAARZ2V0QmFja1NXT1BIZWlnaHQFAAAAEHVudm90ZVNXT1BBbW91bnQFAAAAA25pbAAAAAFpAQAAABVnZXRCYWNrU1dPUGZyb21PcHRpb24AAAADAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAABFnZXRCYWNrU1dPUEhlaWdodAQAAAATdXNlclRvdGFsVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAEXVzZXJHZXRCYWNrQW1vdW50CQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCAUAAAABaQAAAAZjYWxsZXIFAAAAEWdldEJhY2tTV09QSGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQIAAAABXwUAAAAGb3B0aW9uAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEXVzZXJHZXRCYWNrQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAAHYWlyRHJvcAAAAAAEAAAACyR0MDgzNjQ4NDM5CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwODM2NDg0MzkAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA4MzY0ODQzOQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUEFtb3VudAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUEFtb3VudE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BBbW91bnQFAAAACXBtdEFtb3VudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUEFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QQW1vdW50BQAAABJ0b3RhbFNXT1BBbW91bnROZXcFAAAAA25pbAAAAAFpAQAAAAljbGFpbVNXT1AAAAAABAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwOTA1ODkxMTMJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAACyR0MDkwNTg5MTEzAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAACyR0MDkwNTg5MTEzAAAAAl8yBAAAAA51c2VyVm90ZUFtb3VudAkBAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADWF2YWlsYWJsZUZ1bmQJAABlAAAAAgkAAGQAAAACCQEAAAARZ2V0VXNlclNXT1BBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAA51c2VyVm90ZUFtb3VudAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAANYXZhaWxhYmxlRnVuZAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BBbW91bnQFAAAADnVzZXJWb3RlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BBbW91bnQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABF1c2VyQ2xhaW1lZEFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADWF2YWlsYWJsZUZ1bmQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAABFjbGFpbVNXT1BhbmRTdGFrZQAAAAAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAwkdDA5OTkzMTAwNDgJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADCR0MDk5OTMxMDA0OAAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAAwkdDA5OTkzMTAwNDgAAAACXzIEAAAADnVzZXJWb3RlQW1vdW50CQEAAAAWZ2V0VXNlclRvdGFsVm90ZUFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAANYXZhaWxhYmxlRnVuZAkAAGUAAAACCQAAZAAAAAIJAQAAABFnZXRVc2VyU1dPUEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAADnVzZXJWb3RlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BBbW91bnQFAAAADnVzZXJWb3RlQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANYXZhaWxhYmxlRnVuZAUAAAAEU1dPUAUAAAADbmlsAAAAACfK/RU=",
"chainId": 84,
"height": 1366572,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 6Yzi2fRXUk2kgvu2xmBAt5oqtWQT5z74yD7N2wrHivi9
Next: ATW1fYLYmBUhupstNScsjioYutN8jagPrwZiQ7u5xPvz
Diff:
Old | New | | Differences |
---|
25 | 25 | | |
---|
26 | 26 | | let l = "_SWOP_option_amount" |
---|
27 | 27 | | |
---|
28 | | - | let m = "total_SWOP_option_amount" |
---|
| 28 | + | let m = "SWOP_claimed_amount" |
---|
29 | 29 | | |
---|
30 | | - | let n = "vote_name" |
---|
| 30 | + | let n = "total_SWOP_option_amount" |
---|
31 | 31 | | |
---|
32 | | - | let o = "_option_name" |
---|
| 32 | + | let o = "vote_name" |
---|
33 | 33 | | |
---|
34 | | - | let p = "_startHeight" |
---|
| 34 | + | let p = "_option_name" |
---|
35 | 35 | | |
---|
36 | | - | let q = "_vote_duration" |
---|
| 36 | + | let q = "_startHeight" |
---|
37 | 37 | | |
---|
38 | | - | let r = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb') |
---|
| 38 | + | let r = "_vote_duration" |
---|
39 | 39 | | |
---|
40 | | - | let s = "SWOP_id" |
---|
| 40 | + | let s = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb') |
---|
41 | 41 | | |
---|
42 | | - | let t = fromBase58String(getStringValue(r, s)) |
---|
| 42 | + | let t = "SWOP_id" |
---|
43 | 43 | | |
---|
44 | | - | let u = 100000000 |
---|
| 44 | + | let u = fromBase58String(getStringValue(s, t)) |
---|
45 | 45 | | |
---|
46 | | - | func v () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount") |
---|
| 46 | + | let v = 100000000 |
---|
| 47 | + | |
---|
| 48 | + | func w () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount") |
---|
47 | 49 | | |
---|
48 | 50 | | |
---|
49 | | - | func w () = { |
---|
50 | | - | let x = valueOrElse(getInteger(this, f), 0) |
---|
51 | | - | x |
---|
| 51 | + | func x () = { |
---|
| 52 | + | let y = valueOrElse(getInteger(this, f), 0) |
---|
| 53 | + | y |
---|
52 | 54 | | } |
---|
53 | 55 | | |
---|
54 | 56 | | |
---|
55 | | - | func y (z) = valueOrElse(getInteger(this, (toString(z) + h)), 0) |
---|
| 57 | + | func z (A) = valueOrElse(getInteger(this, (toString(A) + h)), 0) |
---|
56 | 58 | | |
---|
57 | 59 | | |
---|
58 | | - | func A (z,x) = { |
---|
59 | | - | let B = y(z) |
---|
60 | | - | let C = getInteger(this, (toString(z) + g)) |
---|
61 | | - | let D = { |
---|
62 | | - | let E = C |
---|
63 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 60 | + | func B (A) = valueOrElse(getInteger(this, (toString(A) + m)), 0) |
---|
| 61 | + | |
---|
| 62 | + | |
---|
| 63 | + | func C (A,y) = { |
---|
| 64 | + | let D = z(A) |
---|
| 65 | + | let E = getInteger(this, (toString(A) + g)) |
---|
| 66 | + | let F = { |
---|
| 67 | + | let G = E |
---|
| 68 | + | if ($isInstanceOf(G, "Int")) |
---|
64 | 69 | | then { |
---|
65 | | - | let C = E |
---|
66 | | - | C |
---|
| 70 | + | let E = G |
---|
| 71 | + | E |
---|
67 | 72 | | } |
---|
68 | | - | else x |
---|
| 73 | + | else y |
---|
69 | 74 | | } |
---|
70 | | - | $Tuple2(D, B) |
---|
| 75 | + | $Tuple2(F, D) |
---|
71 | 76 | | } |
---|
72 | 77 | | |
---|
73 | 78 | | |
---|
74 | | - | func F () = valueOrElse(getInteger(this, j), 0) |
---|
| 79 | + | func H () = valueOrElse(getInteger(this, j), 0) |
---|
75 | 80 | | |
---|
76 | 81 | | |
---|
77 | | - | func G (z) = valueOrElse(getInteger(this, (toString(z) + k)), 0) |
---|
| 82 | + | func I (A) = valueOrElse(getInteger(this, (toString(A) + k)), 0) |
---|
78 | 83 | | |
---|
79 | 84 | | |
---|
80 | | - | func H (z) = valueOrElse(getInteger(this, (toString(z) + l)), 0) |
---|
| 85 | + | func J (A) = valueOrElse(getInteger(this, (toString(A) + l)), 0) |
---|
81 | 86 | | |
---|
82 | 87 | | |
---|
83 | | - | func I (J) = valueOrElse(getInteger(this, (J + p)), 0) |
---|
| 88 | + | func K (L) = valueOrElse(getInteger(this, (L + q)), 0) |
---|
84 | 89 | | |
---|
85 | 90 | | |
---|
86 | | - | func K (z,J,L) = valueOrErrorMessage({ |
---|
87 | | - | let M = getInteger(this, (((J + L) + toString(z)) + l)) |
---|
88 | | - | let N = { |
---|
89 | | - | let E = M |
---|
90 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 91 | + | func M (A,L,N) = valueOrErrorMessage({ |
---|
| 92 | + | let O = getInteger(this, (((L + N) + toString(A)) + l)) |
---|
| 93 | + | let P = { |
---|
| 94 | + | let G = O |
---|
| 95 | + | if ($isInstanceOf(G, "Int")) |
---|
91 | 96 | | then { |
---|
92 | | - | let N = E |
---|
93 | | - | N |
---|
| 97 | + | let P = G |
---|
| 98 | + | P |
---|
94 | 99 | | } |
---|
95 | | - | else if ($isInstanceOf(E, "Unit")) |
---|
| 100 | + | else if ($isInstanceOf(G, "Unit")) |
---|
96 | 101 | | then { |
---|
97 | | - | let N = E |
---|
| 102 | + | let P = G |
---|
98 | 103 | | 0 |
---|
99 | 104 | | } |
---|
100 | 105 | | else throw("Match error") |
---|
101 | 106 | | } |
---|
102 | | - | N |
---|
103 | | - | }, (((("No data on the key: " + J) + L) + toString(z)) + l)) |
---|
| 107 | + | P |
---|
| 108 | + | }, (((("No data on the key: " + L) + N) + toString(A)) + l)) |
---|
104 | 109 | | |
---|
105 | 110 | | |
---|
106 | | - | func O (J) = valueOrErrorMessage(getInteger(this, (J + q)), (("No data on the key: " + J) + q)) |
---|
| 111 | + | func Q (L) = valueOrErrorMessage(getInteger(this, (L + r)), (("No data on the key: " + L) + r)) |
---|
107 | 112 | | |
---|
108 | 113 | | |
---|
109 | | - | func P (J,L) = { |
---|
110 | | - | let Q = getInteger(this, ((J + L) + m)) |
---|
111 | | - | let R = { |
---|
112 | | - | let E = Q |
---|
113 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 114 | + | func R (L,N) = { |
---|
| 115 | + | let S = getInteger(this, ((L + N) + n)) |
---|
| 116 | + | let T = { |
---|
| 117 | + | let G = S |
---|
| 118 | + | if ($isInstanceOf(G, "Int")) |
---|
114 | 119 | | then { |
---|
115 | | - | let R = E |
---|
116 | | - | R |
---|
| 120 | + | let T = G |
---|
| 121 | + | T |
---|
117 | 122 | | } |
---|
118 | | - | else if ($isInstanceOf(E, "Unit")) |
---|
| 123 | + | else if ($isInstanceOf(G, "Unit")) |
---|
119 | 124 | | then { |
---|
120 | | - | let R = E |
---|
| 125 | + | let T = G |
---|
121 | 126 | | 0 |
---|
122 | 127 | | } |
---|
123 | 128 | | else throw("Match error") |
---|
124 | 129 | | } |
---|
125 | | - | R |
---|
| 130 | + | T |
---|
126 | 131 | | } |
---|
127 | 132 | | |
---|
128 | 133 | | |
---|
129 | | - | func S (J,L,z,T) = { |
---|
130 | | - | let U = ((((((J + "_") + L) + "_") + toString(z)) + "_") + toString(T)) |
---|
131 | | - | valueOrErrorMessage(getInteger(this, U), ("No data on the key: " + U)) |
---|
| 134 | + | func U (L,N,A,V) = { |
---|
| 135 | + | let W = ((((((L + "_") + N) + "_") + toString(A)) + "_") + toString(V)) |
---|
| 136 | + | valueOrErrorMessage(getInteger(this, W), ("No data on the key: " + W)) |
---|
132 | 137 | | } |
---|
133 | 138 | | |
---|
134 | 139 | | |
---|
135 | | - | func V (W) = { |
---|
136 | | - | let X = F() |
---|
137 | | - | let x = w() |
---|
138 | | - | let Y = A(W, x) |
---|
139 | | - | let C = Y._1 |
---|
140 | | - | let Z = Y._2 |
---|
141 | | - | let aa = fraction(Z, (x - C), u) |
---|
142 | | - | let ab = x |
---|
143 | | - | $Tuple2(ab, aa) |
---|
| 140 | + | func X (Y) = { |
---|
| 141 | + | let Z = H() |
---|
| 142 | + | let y = x() |
---|
| 143 | + | let aa = C(Y, y) |
---|
| 144 | + | let E = aa._1 |
---|
| 145 | + | let ab = aa._2 |
---|
| 146 | + | let ac = fraction(ab, (y - E), v) |
---|
| 147 | + | let ad = y |
---|
| 148 | + | $Tuple2(ad, ac) |
---|
144 | 149 | | } |
---|
145 | 150 | | |
---|
146 | 151 | | |
---|
147 | | - | @Callable(ac) |
---|
| 152 | + | @Callable(ae) |
---|
148 | 153 | | func lockSWOP () = { |
---|
149 | | - | let ad = $Tuple2(ac.payments[0].amount, ac.payments[0].assetId) |
---|
150 | | - | let ae = ad._1 |
---|
151 | | - | let af = ad._2 |
---|
152 | | - | if ((af != t)) |
---|
| 154 | + | let af = $Tuple2(ae.payments[0].amount, ae.payments[0].assetId) |
---|
| 155 | + | let ag = af._1 |
---|
| 156 | + | let ah = af._2 |
---|
| 157 | + | if ((ah != u)) |
---|
153 | 158 | | then throw("Incorrect pmtAssetId") |
---|
154 | 159 | | else { |
---|
155 | | - | let x = w() |
---|
156 | | - | let ag = A(ac.caller, x) |
---|
157 | | - | let C = ag._1 |
---|
158 | | - | let B = ag._2 |
---|
159 | | - | let aa = fraction(B, (x - C), u) |
---|
160 | | - | let ah = ((B + ae) + aa) |
---|
161 | | - | let ab = x |
---|
162 | | - | let ai = F() |
---|
163 | | - | let aj = (ai + ae) |
---|
164 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry((toString(ac.caller) + h), ah), IntegerEntry(j, aj)] |
---|
| 160 | + | let y = x() |
---|
| 161 | + | let ai = C(ae.caller, y) |
---|
| 162 | + | let E = ai._1 |
---|
| 163 | + | let D = ai._2 |
---|
| 164 | + | let ac = fraction(D, (y - E), v) |
---|
| 165 | + | let aj = ((D + ag) + ac) |
---|
| 166 | + | let ad = y |
---|
| 167 | + | let ak = H() |
---|
| 168 | + | let al = (ak + ag) |
---|
| 169 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry((toString(ae.caller) + h), aj), IntegerEntry(j, al)] |
---|
165 | 170 | | } |
---|
166 | 171 | | } |
---|
167 | 172 | | |
---|
168 | 173 | | |
---|
169 | 174 | | |
---|
170 | | - | @Callable(ac) |
---|
171 | | - | func vote (J,L,ak) = { |
---|
172 | | - | let B = y(ac.caller) |
---|
173 | | - | let al = G(ac.caller) |
---|
174 | | - | let M = K(ac.caller, J, L) |
---|
175 | | - | if ((ak > (B - al))) |
---|
176 | | - | then v() |
---|
| 175 | + | @Callable(ae) |
---|
| 176 | + | func vote (L,N,am) = { |
---|
| 177 | + | let D = z(ae.caller) |
---|
| 178 | + | let an = I(ae.caller) |
---|
| 179 | + | let O = M(ae.caller, L, N) |
---|
| 180 | + | if ((am > (D - an))) |
---|
| 181 | + | then w() |
---|
177 | 182 | | else { |
---|
178 | | - | let Q = P(J, L) |
---|
179 | | - | let am = O(J) |
---|
180 | | - | let an = I(L) |
---|
181 | | - | let ao = (al + ak) |
---|
182 | | - | let ap = (M + ak) |
---|
183 | | - | let aq = (Q + ak) |
---|
184 | | - | [IntegerEntry((((J + "_") + L) + m), aq), IntegerEntry((((J + L) + toString(ac.caller)) + l), ap), IntegerEntry((toString(ac.caller) + k), ao)] |
---|
| 183 | + | let S = R(L, N) |
---|
| 184 | + | let ao = Q(L) |
---|
| 185 | + | let ap = K(N) |
---|
| 186 | + | let aq = (an + am) |
---|
| 187 | + | let ar = (O + am) |
---|
| 188 | + | let as = (S + am) |
---|
| 189 | + | [IntegerEntry((((L + "_") + N) + n), as), IntegerEntry((((L + N) + toString(ae.caller)) + l), ar), IntegerEntry((toString(ae.caller) + k), aq)] |
---|
185 | 190 | | } |
---|
186 | 191 | | } |
---|
187 | 192 | | |
---|
188 | 193 | | |
---|
189 | 194 | | |
---|
190 | | - | @Callable(ac) |
---|
191 | | - | func unvote (J,L,ar) = { |
---|
192 | | - | let B = y(ac.caller) |
---|
193 | | - | let al = G(ac.caller) |
---|
194 | | - | let M = K(ac.caller, J, L) |
---|
195 | | - | if ((ar > M)) |
---|
196 | | - | then v() |
---|
| 195 | + | @Callable(ae) |
---|
| 196 | + | func unvote (L,N,at) = { |
---|
| 197 | + | let D = z(ae.caller) |
---|
| 198 | + | let an = I(ae.caller) |
---|
| 199 | + | let O = M(ae.caller, L, N) |
---|
| 200 | + | if ((at > O)) |
---|
| 201 | + | then w() |
---|
197 | 202 | | else { |
---|
198 | | - | let Q = P(J, L) |
---|
199 | | - | let am = O(J) |
---|
200 | | - | let an = I(L) |
---|
201 | | - | let ap = (M - ar) |
---|
202 | | - | let aq = (Q - ar) |
---|
203 | | - | let T = (an + (2 * am)) |
---|
204 | | - | [IntegerEntry((((J + "_") + L) + m), aq), IntegerEntry((((J + L) + toString(ac.caller)) + l), ap), IntegerEntry(((((((J + "_") + L) + "_") + toString(ac.caller)) + "_") + toString(T)), ar)] |
---|
| 203 | + | let S = R(L, N) |
---|
| 204 | + | let ao = Q(L) |
---|
| 205 | + | let ap = K(N) |
---|
| 206 | + | let ar = (O - at) |
---|
| 207 | + | let as = (S - at) |
---|
| 208 | + | let V = (ap + (2 * ao)) |
---|
| 209 | + | [IntegerEntry((((L + "_") + N) + n), as), IntegerEntry((((L + N) + toString(ae.caller)) + l), ar), IntegerEntry(((((((L + "_") + N) + "_") + toString(ae.caller)) + "_") + toString(V)), at)] |
---|
205 | 210 | | } |
---|
206 | 211 | | } |
---|
207 | 212 | | |
---|
208 | 213 | | |
---|
209 | 214 | | |
---|
210 | | - | @Callable(ac) |
---|
211 | | - | func getBackSWOPfromOption (J,L,T) = { |
---|
212 | | - | let al = G(ac.caller) |
---|
213 | | - | let as = S(J, L, ac.caller, T) |
---|
214 | | - | [IntegerEntry(((((((J + "_") + L) + "_") + toString(ac.caller)) + "_") + toString(T)), 0), ScriptTransfer(ac.caller, as, t)] |
---|
| 215 | + | @Callable(ae) |
---|
| 216 | + | func getBackSWOPfromOption (L,N,V) = { |
---|
| 217 | + | let an = I(ae.caller) |
---|
| 218 | + | let au = U(L, N, ae.caller, V) |
---|
| 219 | + | [IntegerEntry(((((((L + "_") + N) + "_") + toString(ae.caller)) + "_") + toString(V)), 0), ScriptTransfer(ae.caller, au, u)] |
---|
215 | 220 | | } |
---|
216 | 221 | | |
---|
217 | 222 | | |
---|
218 | 223 | | |
---|
219 | | - | @Callable(ac) |
---|
| 224 | + | @Callable(ae) |
---|
220 | 225 | | func airDrop () = { |
---|
221 | | - | let at = $Tuple2(ac.payments[0].amount, ac.payments[0].assetId) |
---|
222 | | - | let ae = at._1 |
---|
223 | | - | let af = at._2 |
---|
224 | | - | if ((af != t)) |
---|
| 226 | + | let av = $Tuple2(ae.payments[0].amount, ae.payments[0].assetId) |
---|
| 227 | + | let ag = av._1 |
---|
| 228 | + | let ah = av._2 |
---|
| 229 | + | if ((ah != u)) |
---|
225 | 230 | | then throw("Incorrect pmtAssetId") |
---|
226 | 231 | | else { |
---|
227 | | - | let ai = F() |
---|
228 | | - | let au = (ai + ae) |
---|
229 | | - | let x = w() |
---|
230 | | - | let av = (x + fraction(ae, u, ai)) |
---|
231 | | - | [IntegerEntry(f, av), IntegerEntry(j, au)] |
---|
| 232 | + | let ak = H() |
---|
| 233 | + | let aw = (ak + ag) |
---|
| 234 | + | let y = x() |
---|
| 235 | + | let ax = (y + fraction(ag, v, ak)) |
---|
| 236 | + | [IntegerEntry(f, ax), IntegerEntry(j, aw)] |
---|
232 | 237 | | } |
---|
233 | 238 | | } |
---|
234 | 239 | | |
---|
235 | 240 | | |
---|
236 | 241 | | |
---|
237 | | - | @Callable(ac) |
---|
| 242 | + | @Callable(ae) |
---|
238 | 243 | | func claimSWOP () = { |
---|
239 | | - | let aw = F() |
---|
240 | | - | let x = w() |
---|
241 | | - | let ax = V(ac.caller) |
---|
242 | | - | let ab = ax._1 |
---|
243 | | - | let aa = ax._2 |
---|
244 | | - | let ay = G(ac.caller) |
---|
245 | | - | let az = ((y(ac.caller) + aa) - ay) |
---|
246 | | - | let aj = (aw - az) |
---|
247 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry(f, x), IntegerEntry((toString(ac.caller) + h), ay), IntegerEntry(j, aj), ScriptTransfer(ac.caller, az, t)] |
---|
| 244 | + | let ay = H() |
---|
| 245 | + | let y = x() |
---|
| 246 | + | let az = X(ae.caller) |
---|
| 247 | + | let ad = az._1 |
---|
| 248 | + | let ac = az._2 |
---|
| 249 | + | let aA = I(ae.caller) |
---|
| 250 | + | let aB = ((z(ae.caller) + ac) - aA) |
---|
| 251 | + | let al = (ay - aB) |
---|
| 252 | + | let aC = B(ae.caller) |
---|
| 253 | + | let aD = (aC + ac) |
---|
| 254 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry(f, y), IntegerEntry((toString(ae.caller) + h), aA), IntegerEntry(j, al), IntegerEntry(m, aC), ScriptTransfer(ae.caller, aB, u)] |
---|
248 | 255 | | } |
---|
249 | 256 | | |
---|
250 | 257 | | |
---|
251 | 258 | | |
---|
252 | | - | @Callable(ac) |
---|
| 259 | + | @Callable(ae) |
---|
253 | 260 | | func claimSWOPandStake () = { |
---|
254 | | - | let aw = F() |
---|
255 | | - | let x = w() |
---|
256 | | - | let aA = V(ac.caller) |
---|
257 | | - | let ab = aA._1 |
---|
258 | | - | let aa = aA._2 |
---|
259 | | - | let ay = G(ac.caller) |
---|
260 | | - | let az = ((y(ac.caller) + aa) - ay) |
---|
261 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry(f, x), IntegerEntry(j, ay), ScriptTransfer(ac.caller, az, t)] |
---|
| 261 | + | let ay = H() |
---|
| 262 | + | let y = x() |
---|
| 263 | + | let aE = X(ae.caller) |
---|
| 264 | + | let ad = aE._1 |
---|
| 265 | + | let ac = aE._2 |
---|
| 266 | + | let aA = I(ae.caller) |
---|
| 267 | + | let aB = ((z(ae.caller) + ac) - aA) |
---|
| 268 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry(f, y), IntegerEntry(j, aA), ScriptTransfer(ae.caller, aB, u)] |
---|
262 | 269 | | } |
---|
263 | 270 | | |
---|
264 | 271 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 4 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU' |
---|
5 | 5 | | |
---|
6 | 6 | | let b = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU' |
---|
7 | 7 | | |
---|
8 | 8 | | let c = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU' |
---|
9 | 9 | | |
---|
10 | 10 | | let d = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU' |
---|
11 | 11 | | |
---|
12 | 12 | | let e = base58'289xpUrYrKbLjaKkqH3XNhfecukcYRaDRT3JDrvkvQRU' |
---|
13 | 13 | | |
---|
14 | 14 | | let f = "last_interest" |
---|
15 | 15 | | |
---|
16 | 16 | | let g = "_last_interest" |
---|
17 | 17 | | |
---|
18 | 18 | | let h = "_SWOP_amount" |
---|
19 | 19 | | |
---|
20 | 20 | | let i = "_getBackHeight" |
---|
21 | 21 | | |
---|
22 | 22 | | let j = "total_SWOP_amount" |
---|
23 | 23 | | |
---|
24 | 24 | | let k = "_total_SWOP_vote_amount" |
---|
25 | 25 | | |
---|
26 | 26 | | let l = "_SWOP_option_amount" |
---|
27 | 27 | | |
---|
28 | | - | let m = "total_SWOP_option_amount" |
---|
| 28 | + | let m = "SWOP_claimed_amount" |
---|
29 | 29 | | |
---|
30 | | - | let n = "vote_name" |
---|
| 30 | + | let n = "total_SWOP_option_amount" |
---|
31 | 31 | | |
---|
32 | | - | let o = "_option_name" |
---|
| 32 | + | let o = "vote_name" |
---|
33 | 33 | | |
---|
34 | | - | let p = "_startHeight" |
---|
| 34 | + | let p = "_option_name" |
---|
35 | 35 | | |
---|
36 | | - | let q = "_vote_duration" |
---|
| 36 | + | let q = "_startHeight" |
---|
37 | 37 | | |
---|
38 | | - | let r = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb') |
---|
| 38 | + | let r = "_vote_duration" |
---|
39 | 39 | | |
---|
40 | | - | let s = "SWOP_id" |
---|
| 40 | + | let s = Address(base58'3NAqJ1CqP1iTzXR9wENKwEXHMvT4CS4YGBb') |
---|
41 | 41 | | |
---|
42 | | - | let t = fromBase58String(getStringValue(r, s)) |
---|
| 42 | + | let t = "SWOP_id" |
---|
43 | 43 | | |
---|
44 | | - | let u = 100000000 |
---|
| 44 | + | let u = fromBase58String(getStringValue(s, t)) |
---|
45 | 45 | | |
---|
46 | | - | func v () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount") |
---|
| 46 | + | let v = 100000000 |
---|
| 47 | + | |
---|
| 48 | + | func w () = throw("Not enough SWOP: userSWOPAmount - userTotalVoteAmount < voteSWOPAmount") |
---|
47 | 49 | | |
---|
48 | 50 | | |
---|
49 | | - | func w () = { |
---|
50 | | - | let x = valueOrElse(getInteger(this, f), 0) |
---|
51 | | - | x |
---|
| 51 | + | func x () = { |
---|
| 52 | + | let y = valueOrElse(getInteger(this, f), 0) |
---|
| 53 | + | y |
---|
52 | 54 | | } |
---|
53 | 55 | | |
---|
54 | 56 | | |
---|
55 | | - | func y (z) = valueOrElse(getInteger(this, (toString(z) + h)), 0) |
---|
| 57 | + | func z (A) = valueOrElse(getInteger(this, (toString(A) + h)), 0) |
---|
56 | 58 | | |
---|
57 | 59 | | |
---|
58 | | - | func A (z,x) = { |
---|
59 | | - | let B = y(z) |
---|
60 | | - | let C = getInteger(this, (toString(z) + g)) |
---|
61 | | - | let D = { |
---|
62 | | - | let E = C |
---|
63 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 60 | + | func B (A) = valueOrElse(getInteger(this, (toString(A) + m)), 0) |
---|
| 61 | + | |
---|
| 62 | + | |
---|
| 63 | + | func C (A,y) = { |
---|
| 64 | + | let D = z(A) |
---|
| 65 | + | let E = getInteger(this, (toString(A) + g)) |
---|
| 66 | + | let F = { |
---|
| 67 | + | let G = E |
---|
| 68 | + | if ($isInstanceOf(G, "Int")) |
---|
64 | 69 | | then { |
---|
65 | | - | let C = E |
---|
66 | | - | C |
---|
| 70 | + | let E = G |
---|
| 71 | + | E |
---|
67 | 72 | | } |
---|
68 | | - | else x |
---|
| 73 | + | else y |
---|
69 | 74 | | } |
---|
70 | | - | $Tuple2(D, B) |
---|
| 75 | + | $Tuple2(F, D) |
---|
71 | 76 | | } |
---|
72 | 77 | | |
---|
73 | 78 | | |
---|
74 | | - | func F () = valueOrElse(getInteger(this, j), 0) |
---|
| 79 | + | func H () = valueOrElse(getInteger(this, j), 0) |
---|
75 | 80 | | |
---|
76 | 81 | | |
---|
77 | | - | func G (z) = valueOrElse(getInteger(this, (toString(z) + k)), 0) |
---|
| 82 | + | func I (A) = valueOrElse(getInteger(this, (toString(A) + k)), 0) |
---|
78 | 83 | | |
---|
79 | 84 | | |
---|
80 | | - | func H (z) = valueOrElse(getInteger(this, (toString(z) + l)), 0) |
---|
| 85 | + | func J (A) = valueOrElse(getInteger(this, (toString(A) + l)), 0) |
---|
81 | 86 | | |
---|
82 | 87 | | |
---|
83 | | - | func I (J) = valueOrElse(getInteger(this, (J + p)), 0) |
---|
| 88 | + | func K (L) = valueOrElse(getInteger(this, (L + q)), 0) |
---|
84 | 89 | | |
---|
85 | 90 | | |
---|
86 | | - | func K (z,J,L) = valueOrErrorMessage({ |
---|
87 | | - | let M = getInteger(this, (((J + L) + toString(z)) + l)) |
---|
88 | | - | let N = { |
---|
89 | | - | let E = M |
---|
90 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 91 | + | func M (A,L,N) = valueOrErrorMessage({ |
---|
| 92 | + | let O = getInteger(this, (((L + N) + toString(A)) + l)) |
---|
| 93 | + | let P = { |
---|
| 94 | + | let G = O |
---|
| 95 | + | if ($isInstanceOf(G, "Int")) |
---|
91 | 96 | | then { |
---|
92 | | - | let N = E |
---|
93 | | - | N |
---|
| 97 | + | let P = G |
---|
| 98 | + | P |
---|
94 | 99 | | } |
---|
95 | | - | else if ($isInstanceOf(E, "Unit")) |
---|
| 100 | + | else if ($isInstanceOf(G, "Unit")) |
---|
96 | 101 | | then { |
---|
97 | | - | let N = E |
---|
| 102 | + | let P = G |
---|
98 | 103 | | 0 |
---|
99 | 104 | | } |
---|
100 | 105 | | else throw("Match error") |
---|
101 | 106 | | } |
---|
102 | | - | N |
---|
103 | | - | }, (((("No data on the key: " + J) + L) + toString(z)) + l)) |
---|
| 107 | + | P |
---|
| 108 | + | }, (((("No data on the key: " + L) + N) + toString(A)) + l)) |
---|
104 | 109 | | |
---|
105 | 110 | | |
---|
106 | | - | func O (J) = valueOrErrorMessage(getInteger(this, (J + q)), (("No data on the key: " + J) + q)) |
---|
| 111 | + | func Q (L) = valueOrErrorMessage(getInteger(this, (L + r)), (("No data on the key: " + L) + r)) |
---|
107 | 112 | | |
---|
108 | 113 | | |
---|
109 | | - | func P (J,L) = { |
---|
110 | | - | let Q = getInteger(this, ((J + L) + m)) |
---|
111 | | - | let R = { |
---|
112 | | - | let E = Q |
---|
113 | | - | if ($isInstanceOf(E, "Int")) |
---|
| 114 | + | func R (L,N) = { |
---|
| 115 | + | let S = getInteger(this, ((L + N) + n)) |
---|
| 116 | + | let T = { |
---|
| 117 | + | let G = S |
---|
| 118 | + | if ($isInstanceOf(G, "Int")) |
---|
114 | 119 | | then { |
---|
115 | | - | let R = E |
---|
116 | | - | R |
---|
| 120 | + | let T = G |
---|
| 121 | + | T |
---|
117 | 122 | | } |
---|
118 | | - | else if ($isInstanceOf(E, "Unit")) |
---|
| 123 | + | else if ($isInstanceOf(G, "Unit")) |
---|
119 | 124 | | then { |
---|
120 | | - | let R = E |
---|
| 125 | + | let T = G |
---|
121 | 126 | | 0 |
---|
122 | 127 | | } |
---|
123 | 128 | | else throw("Match error") |
---|
124 | 129 | | } |
---|
125 | | - | R |
---|
| 130 | + | T |
---|
126 | 131 | | } |
---|
127 | 132 | | |
---|
128 | 133 | | |
---|
129 | | - | func S (J,L,z,T) = { |
---|
130 | | - | let U = ((((((J + "_") + L) + "_") + toString(z)) + "_") + toString(T)) |
---|
131 | | - | valueOrErrorMessage(getInteger(this, U), ("No data on the key: " + U)) |
---|
| 134 | + | func U (L,N,A,V) = { |
---|
| 135 | + | let W = ((((((L + "_") + N) + "_") + toString(A)) + "_") + toString(V)) |
---|
| 136 | + | valueOrErrorMessage(getInteger(this, W), ("No data on the key: " + W)) |
---|
132 | 137 | | } |
---|
133 | 138 | | |
---|
134 | 139 | | |
---|
135 | | - | func V (W) = { |
---|
136 | | - | let X = F() |
---|
137 | | - | let x = w() |
---|
138 | | - | let Y = A(W, x) |
---|
139 | | - | let C = Y._1 |
---|
140 | | - | let Z = Y._2 |
---|
141 | | - | let aa = fraction(Z, (x - C), u) |
---|
142 | | - | let ab = x |
---|
143 | | - | $Tuple2(ab, aa) |
---|
| 140 | + | func X (Y) = { |
---|
| 141 | + | let Z = H() |
---|
| 142 | + | let y = x() |
---|
| 143 | + | let aa = C(Y, y) |
---|
| 144 | + | let E = aa._1 |
---|
| 145 | + | let ab = aa._2 |
---|
| 146 | + | let ac = fraction(ab, (y - E), v) |
---|
| 147 | + | let ad = y |
---|
| 148 | + | $Tuple2(ad, ac) |
---|
144 | 149 | | } |
---|
145 | 150 | | |
---|
146 | 151 | | |
---|
147 | | - | @Callable(ac) |
---|
| 152 | + | @Callable(ae) |
---|
148 | 153 | | func lockSWOP () = { |
---|
149 | | - | let ad = $Tuple2(ac.payments[0].amount, ac.payments[0].assetId) |
---|
150 | | - | let ae = ad._1 |
---|
151 | | - | let af = ad._2 |
---|
152 | | - | if ((af != t)) |
---|
| 154 | + | let af = $Tuple2(ae.payments[0].amount, ae.payments[0].assetId) |
---|
| 155 | + | let ag = af._1 |
---|
| 156 | + | let ah = af._2 |
---|
| 157 | + | if ((ah != u)) |
---|
153 | 158 | | then throw("Incorrect pmtAssetId") |
---|
154 | 159 | | else { |
---|
155 | | - | let x = w() |
---|
156 | | - | let ag = A(ac.caller, x) |
---|
157 | | - | let C = ag._1 |
---|
158 | | - | let B = ag._2 |
---|
159 | | - | let aa = fraction(B, (x - C), u) |
---|
160 | | - | let ah = ((B + ae) + aa) |
---|
161 | | - | let ab = x |
---|
162 | | - | let ai = F() |
---|
163 | | - | let aj = (ai + ae) |
---|
164 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry((toString(ac.caller) + h), ah), IntegerEntry(j, aj)] |
---|
| 160 | + | let y = x() |
---|
| 161 | + | let ai = C(ae.caller, y) |
---|
| 162 | + | let E = ai._1 |
---|
| 163 | + | let D = ai._2 |
---|
| 164 | + | let ac = fraction(D, (y - E), v) |
---|
| 165 | + | let aj = ((D + ag) + ac) |
---|
| 166 | + | let ad = y |
---|
| 167 | + | let ak = H() |
---|
| 168 | + | let al = (ak + ag) |
---|
| 169 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry((toString(ae.caller) + h), aj), IntegerEntry(j, al)] |
---|
165 | 170 | | } |
---|
166 | 171 | | } |
---|
167 | 172 | | |
---|
168 | 173 | | |
---|
169 | 174 | | |
---|
170 | | - | @Callable(ac) |
---|
171 | | - | func vote (J,L,ak) = { |
---|
172 | | - | let B = y(ac.caller) |
---|
173 | | - | let al = G(ac.caller) |
---|
174 | | - | let M = K(ac.caller, J, L) |
---|
175 | | - | if ((ak > (B - al))) |
---|
176 | | - | then v() |
---|
| 175 | + | @Callable(ae) |
---|
| 176 | + | func vote (L,N,am) = { |
---|
| 177 | + | let D = z(ae.caller) |
---|
| 178 | + | let an = I(ae.caller) |
---|
| 179 | + | let O = M(ae.caller, L, N) |
---|
| 180 | + | if ((am > (D - an))) |
---|
| 181 | + | then w() |
---|
177 | 182 | | else { |
---|
178 | | - | let Q = P(J, L) |
---|
179 | | - | let am = O(J) |
---|
180 | | - | let an = I(L) |
---|
181 | | - | let ao = (al + ak) |
---|
182 | | - | let ap = (M + ak) |
---|
183 | | - | let aq = (Q + ak) |
---|
184 | | - | [IntegerEntry((((J + "_") + L) + m), aq), IntegerEntry((((J + L) + toString(ac.caller)) + l), ap), IntegerEntry((toString(ac.caller) + k), ao)] |
---|
| 183 | + | let S = R(L, N) |
---|
| 184 | + | let ao = Q(L) |
---|
| 185 | + | let ap = K(N) |
---|
| 186 | + | let aq = (an + am) |
---|
| 187 | + | let ar = (O + am) |
---|
| 188 | + | let as = (S + am) |
---|
| 189 | + | [IntegerEntry((((L + "_") + N) + n), as), IntegerEntry((((L + N) + toString(ae.caller)) + l), ar), IntegerEntry((toString(ae.caller) + k), aq)] |
---|
185 | 190 | | } |
---|
186 | 191 | | } |
---|
187 | 192 | | |
---|
188 | 193 | | |
---|
189 | 194 | | |
---|
190 | | - | @Callable(ac) |
---|
191 | | - | func unvote (J,L,ar) = { |
---|
192 | | - | let B = y(ac.caller) |
---|
193 | | - | let al = G(ac.caller) |
---|
194 | | - | let M = K(ac.caller, J, L) |
---|
195 | | - | if ((ar > M)) |
---|
196 | | - | then v() |
---|
| 195 | + | @Callable(ae) |
---|
| 196 | + | func unvote (L,N,at) = { |
---|
| 197 | + | let D = z(ae.caller) |
---|
| 198 | + | let an = I(ae.caller) |
---|
| 199 | + | let O = M(ae.caller, L, N) |
---|
| 200 | + | if ((at > O)) |
---|
| 201 | + | then w() |
---|
197 | 202 | | else { |
---|
198 | | - | let Q = P(J, L) |
---|
199 | | - | let am = O(J) |
---|
200 | | - | let an = I(L) |
---|
201 | | - | let ap = (M - ar) |
---|
202 | | - | let aq = (Q - ar) |
---|
203 | | - | let T = (an + (2 * am)) |
---|
204 | | - | [IntegerEntry((((J + "_") + L) + m), aq), IntegerEntry((((J + L) + toString(ac.caller)) + l), ap), IntegerEntry(((((((J + "_") + L) + "_") + toString(ac.caller)) + "_") + toString(T)), ar)] |
---|
| 203 | + | let S = R(L, N) |
---|
| 204 | + | let ao = Q(L) |
---|
| 205 | + | let ap = K(N) |
---|
| 206 | + | let ar = (O - at) |
---|
| 207 | + | let as = (S - at) |
---|
| 208 | + | let V = (ap + (2 * ao)) |
---|
| 209 | + | [IntegerEntry((((L + "_") + N) + n), as), IntegerEntry((((L + N) + toString(ae.caller)) + l), ar), IntegerEntry(((((((L + "_") + N) + "_") + toString(ae.caller)) + "_") + toString(V)), at)] |
---|
205 | 210 | | } |
---|
206 | 211 | | } |
---|
207 | 212 | | |
---|
208 | 213 | | |
---|
209 | 214 | | |
---|
210 | | - | @Callable(ac) |
---|
211 | | - | func getBackSWOPfromOption (J,L,T) = { |
---|
212 | | - | let al = G(ac.caller) |
---|
213 | | - | let as = S(J, L, ac.caller, T) |
---|
214 | | - | [IntegerEntry(((((((J + "_") + L) + "_") + toString(ac.caller)) + "_") + toString(T)), 0), ScriptTransfer(ac.caller, as, t)] |
---|
| 215 | + | @Callable(ae) |
---|
| 216 | + | func getBackSWOPfromOption (L,N,V) = { |
---|
| 217 | + | let an = I(ae.caller) |
---|
| 218 | + | let au = U(L, N, ae.caller, V) |
---|
| 219 | + | [IntegerEntry(((((((L + "_") + N) + "_") + toString(ae.caller)) + "_") + toString(V)), 0), ScriptTransfer(ae.caller, au, u)] |
---|
215 | 220 | | } |
---|
216 | 221 | | |
---|
217 | 222 | | |
---|
218 | 223 | | |
---|
219 | | - | @Callable(ac) |
---|
| 224 | + | @Callable(ae) |
---|
220 | 225 | | func airDrop () = { |
---|
221 | | - | let at = $Tuple2(ac.payments[0].amount, ac.payments[0].assetId) |
---|
222 | | - | let ae = at._1 |
---|
223 | | - | let af = at._2 |
---|
224 | | - | if ((af != t)) |
---|
| 226 | + | let av = $Tuple2(ae.payments[0].amount, ae.payments[0].assetId) |
---|
| 227 | + | let ag = av._1 |
---|
| 228 | + | let ah = av._2 |
---|
| 229 | + | if ((ah != u)) |
---|
225 | 230 | | then throw("Incorrect pmtAssetId") |
---|
226 | 231 | | else { |
---|
227 | | - | let ai = F() |
---|
228 | | - | let au = (ai + ae) |
---|
229 | | - | let x = w() |
---|
230 | | - | let av = (x + fraction(ae, u, ai)) |
---|
231 | | - | [IntegerEntry(f, av), IntegerEntry(j, au)] |
---|
| 232 | + | let ak = H() |
---|
| 233 | + | let aw = (ak + ag) |
---|
| 234 | + | let y = x() |
---|
| 235 | + | let ax = (y + fraction(ag, v, ak)) |
---|
| 236 | + | [IntegerEntry(f, ax), IntegerEntry(j, aw)] |
---|
232 | 237 | | } |
---|
233 | 238 | | } |
---|
234 | 239 | | |
---|
235 | 240 | | |
---|
236 | 241 | | |
---|
237 | | - | @Callable(ac) |
---|
| 242 | + | @Callable(ae) |
---|
238 | 243 | | func claimSWOP () = { |
---|
239 | | - | let aw = F() |
---|
240 | | - | let x = w() |
---|
241 | | - | let ax = V(ac.caller) |
---|
242 | | - | let ab = ax._1 |
---|
243 | | - | let aa = ax._2 |
---|
244 | | - | let ay = G(ac.caller) |
---|
245 | | - | let az = ((y(ac.caller) + aa) - ay) |
---|
246 | | - | let aj = (aw - az) |
---|
247 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry(f, x), IntegerEntry((toString(ac.caller) + h), ay), IntegerEntry(j, aj), ScriptTransfer(ac.caller, az, t)] |
---|
| 244 | + | let ay = H() |
---|
| 245 | + | let y = x() |
---|
| 246 | + | let az = X(ae.caller) |
---|
| 247 | + | let ad = az._1 |
---|
| 248 | + | let ac = az._2 |
---|
| 249 | + | let aA = I(ae.caller) |
---|
| 250 | + | let aB = ((z(ae.caller) + ac) - aA) |
---|
| 251 | + | let al = (ay - aB) |
---|
| 252 | + | let aC = B(ae.caller) |
---|
| 253 | + | let aD = (aC + ac) |
---|
| 254 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry(f, y), IntegerEntry((toString(ae.caller) + h), aA), IntegerEntry(j, al), IntegerEntry(m, aC), ScriptTransfer(ae.caller, aB, u)] |
---|
248 | 255 | | } |
---|
249 | 256 | | |
---|
250 | 257 | | |
---|
251 | 258 | | |
---|
252 | | - | @Callable(ac) |
---|
| 259 | + | @Callable(ae) |
---|
253 | 260 | | func claimSWOPandStake () = { |
---|
254 | | - | let aw = F() |
---|
255 | | - | let x = w() |
---|
256 | | - | let aA = V(ac.caller) |
---|
257 | | - | let ab = aA._1 |
---|
258 | | - | let aa = aA._2 |
---|
259 | | - | let ay = G(ac.caller) |
---|
260 | | - | let az = ((y(ac.caller) + aa) - ay) |
---|
261 | | - | [IntegerEntry((toString(ac.caller) + g), ab), IntegerEntry(f, x), IntegerEntry(j, ay), ScriptTransfer(ac.caller, az, t)] |
---|
| 261 | + | let ay = H() |
---|
| 262 | + | let y = x() |
---|
| 263 | + | let aE = X(ae.caller) |
---|
| 264 | + | let ad = aE._1 |
---|
| 265 | + | let ac = aE._2 |
---|
| 266 | + | let aA = I(ae.caller) |
---|
| 267 | + | let aB = ((z(ae.caller) + ac) - aA) |
---|
| 268 | + | [IntegerEntry((toString(ae.caller) + g), ad), IntegerEntry(f, y), IntegerEntry(j, aA), ScriptTransfer(ae.caller, aB, u)] |
---|
262 | 269 | | } |
---|
263 | 270 | | |
---|
264 | 271 | | |
---|