tx · 7U9ZVknF9BiAyjemiuacvU5JZ4Qt9DqjNUgsZSHgsU5W

3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy:  -0.14000000 Waves

2021.11.11 16:59 [1786437] smart account 3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy > SELF 0.00000000 Waves

{ "type": 13, "id": "7U9ZVknF9BiAyjemiuacvU5JZ4Qt9DqjNUgsZSHgsU5W", "fee": 14000000, "feeAssetId": null, "timestamp": 1636639214595, "version": 2, "chainId": 84, "sender": "3N4LqYvK8toVfW83bVrzvm4VoA55PB21Bmy", "senderPublicKey": "9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq", "proofs": [ "2LwJenWapxCEu8gmXVge76s68wRwG3PaJFGpY14E7ugMrRxZTckJKK1A6wqydUAjCsy4NsxApC7bqJNBF1NjYAvb", "38kWD3kpaLDbu73zRnaP65brCYT6qMwwjUhynNWvzyq5ZUeytShm93EtkYFDf7jpMRrPZdPrS5VxarjtghuQBt4u" ], "script": "base64:AAIFAAAAAAAAADAIAhIAEgQKAggIEgYKBAEBCAESAwoBBBIDCgEBEgMKAQESABIDCgEBEgASABIAEgAAAAAiAAAAAAxhZG1pblB1YktleTEBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAAAxhZG1pblB1YktleTIBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAAAxhZG1pblB1YktleTMBAAAAIHxYa3tSxaWNZxxr9KlqtCKnmcTlLLl7jg3ENEFozVB4AAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgfFhre1LFpY1nHGv0qWq0IqeZxOUsuXuODcQ0QWjNUHgAAAAACWtleUFjdGl2ZQIAAAAGYWN0aXZlAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADGtleVZvdGVTdGFydAIAAAARdm90ZV9zdGFydF9oZWlnaHQAAAAACmtleVZvdGVFbmQCAAAAD3ZvdGVfZW5kX2hlaWdodAAAAAAKa2V5Vm90ZVllcwIAAAAKeWVzX2Ftb3VudAAAAAAQa2V5VXNlckVOTk9Wb3RlZAIAAAAKX0VOTk9fdm90ZQAAAAAWa2V5VXNlckVOTk9Wb3RlZEhlaWdodAIAAAARX0VOTk9fdm90ZV9oZWlnaHQAAAAAFWtleVVzZXJFTk5PVm90ZWRWYWx1ZQIAAAAQX0VOTk9fdm90ZV92YWx1ZQAAAAAYa2V5VXNlckVOTk9Wb3RlZFlFU1ZhbHVlAgAAABRfRU5OT192b3RlX3llc19zaGFyZQAAAAAQa2V5VG90YWxZZXNWb3RlZAIAAAATdG90YWxfRU5OT192b3RlX3llcwAAAAARa2V5VXNlckVOTk9Mb2NrZWQCAAAADF9FTk5PX2Ftb3VudAAAAAASa2V5VG90YWxFTk5PTG9ja2VkAgAAABF0b3RhbF9FTk5PX2Ftb3VudAAAAAASYWN0aXZlQWlyZHJvcFRva2VuAgAAABRhY3RpdmVfYWlyZHJvcF90b2tlbgAAAAATYWN0aXZlQWlyZHJvcEFtb3VudAIAAAAVYWN0aXZlX2FpcmRyb3BfYW1vdW50AAAAAA5jbGFpbUF2YWlsYWJsZQIAAAAbYWN0aXZlX2FpcmRyb3BfY2xhaW1fc3RhdHVzAAAAABhrZXlVc2VyRU5OT0NsYWltZWRBbW91bnQCAAAAFF9FTk5PX2NsYWltZWRfYW1vdW50AAAAABxrZXlVc2VyRU5OT0xhc3RDbGFpbWVkQW1vdW50AgAAABlfRU5OT19sYXN0X2NsYWltZWRfYW1vdW50AAAAABRrZXlVc2VyRU5OT0xvY2tlZFRhZwIAAAAGc2hhcmVfAAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAAA5pc0FpcmRyb3BDbGFpbQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAA5jbGFpbUF2YWlsYWJsZQcAAAAACXNoYXJlRGF0YQEAAAAgfFhre1LFpY1nHGv0qWq0IqeZxOUsuXuODcQ0QWjNUHgAAAAABEVOTk8BAAAAIFElq4sahFRPRYs6fJ/JNngPKj6KkVYmfQOFYw4O0uG6AQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAARZ2V0VXNlckVOTk9Mb2NrZWQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAEWtleVVzZXJFTk5PTG9ja2VkAAAAAAAAAAAAAQAAABJnZXRUb3RhbEVOTk9Mb2NrZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEmtleVRvdGFsRU5OT0xvY2tlZAAAAAAAAAAAAAEAAAAPZ2V0VXNlclZvdGVEYXRhAAAAAgAAAAR1c2VyAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAADa2V5AAAAAAAAAAAAAQAAAAZnZXRWYWwAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAADmdldENhbGxlclNoYXJlAAAAAQAAAAZjYWxsZXIEAAAAC2NhbGxlclNoYXJlCQAEGgAAAAIJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAACXNoYXJlRGF0YQkAASwAAAACBQAAABRrZXlVc2VyRU5OT0xvY2tlZFRhZwkABCUAAAABBQAAAAZjYWxsZXIEAAAAEWNhbGxlclNoYXJlQW1vdW50BAAAAAckbWF0Y2gwBQAAAAtjYWxsZXJTaGFyZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVzaGFyZQUAAAAHJG1hdGNoMAUAAAAFc2hhcmUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXNoYXJlBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAMk9ubHkgZ292ZXJuYW5jZSBxdWFsaWZpZXJzIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24uCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAABFjYWxsZXJTaGFyZUFtb3VudAEAAAAQZ2V0Q2xhaW1lZEFtb3VudAAAAAEAAAAGY2FsbGVyBAAAAA9jYWxsZXJXaXRoZHJhd24JAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABmNhbGxlcgUAAAAYa2V5VXNlckVOTk9DbGFpbWVkQW1vdW50BAAAABVjYWxsZXJXaXRoZHJhd25BbW91bnQEAAAAByRtYXRjaDAFAAAAD2NhbGxlcldpdGhkcmF3bgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAVzaGFyZQUAAAAHJG1hdGNoMAUAAAAFc2hhcmUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXNoYXJlBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAABVjYWxsZXJXaXRoZHJhd25BbW91bnQBAAAACHNldFNoYXJlAAAAAQAAAAZhbW91bnQEAAAAC2RlbHRhSGVpZ2h0CQAAZQAAAAIJAQAAAAZnZXRW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RU5OT1ZvdGVkCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAECAAAAFWFjdGl2ZV9haXJkcm9wX2Ftb3VudAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAABthY3RpdmVfYWlyZHJvcF9jbGFpbV9zdGF0dXMJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAAUYWN0aXZlX2FpcmRyb3BfdG9rZW4JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAATdG90YWxfRU5OT192b3RlX3llcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAA92b3RlX2VuZF9oZWlnaHQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQIAAAARdm90ZV9zdGFydF9oZWlnaHQFAAAAA25pbAAAAAFpAQAAAAhpbml0Vm90ZQAAAAQAAAAFc3RhcnQAAAADZW5kAAAABXRva2VuAAAABmFtb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABJhY3RpdmVBaXJkcm9wVG9rZW4FAAAABXRva2VuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNhY3RpdmVBaXJkcm9wQW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADGtleVZvdGVTdGFydAUAAAAFc3RhcnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACmtleVZvdGVFbmQFAAAAA2VuZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa2V5VG90YWxZZXNWb3RlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAOY2xhaW1BdmFpbGFibGUHBQAAAANuaWwAAAABaQEAAAAUYWN0aXZhdGVBaXJkcm9wQ2xhaW0AAAABAAAAA3NldAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAOY2xhaW1BdmFpbGFibGUFAAAAA3NldAUAAAADbmlsAAAAAWkBAAAABnVudm90ZQAAAAEAAAAKdm90ZUFtb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAABmAAAAAgkBAAAABmdldFZhbAAAAAEFAAAADGtleVZvdGVTdGFydAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAG1ZvdGluZyBoYXMgbm90IHN0YXJ0ZWQgeWV0LgMJAABmAAAAAgUAAAAGaGVpZ2h0CQEAAAAGZ2V0VmFsAAAAAQUAAAAKa2V5Vm90ZUVuZAkAAAIAAAABAgAAABlWb3RpbmcgaGFzIGFscmVhZHkgZW5kZWQuBAAAAAxhaXJkcm9wVG9rZW4JAAEsAAAAAgIAAAABXwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAABJhY3RpdmVBaXJkcm9wVG9rZW4CAAAAA04vQQQAAAAIdG90YWxZZXMJAQAAAAZnZXRWYWwAAAABBQAAABBrZXlUb3RhbFllc1ZvdGVkBAAAAAx1c2VyVm90ZWRZZXMJAQAAAA9nZXRVc2VyVm90ZURhdGEAAAACCAUAAAABaQAAAAZjYWxsZXIJAAEsAAAAAgUAAAAMYWlyZHJvcFRva2VuBQAAABhrZXlVc2VyRU5OT1ZvdGVkWUVTVmFsdWUEAAAADXVzZXJFTk5PVm90ZWQJAQAAAA9nZXRVc2VyVm90ZURhdGEAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleVVzZXJFTk5PVm90ZWQEAAAAEHVzZXJFTk5PVm90ZWROZXcJAABlAAAAAgUAAAANdXNlckVOTk9Wb3RlZAUAAAAKdm90ZUFtb3VudAMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlckVOTk9Wb3RlZE5ldwkAAAIAAAABAgAAACNWb3RlIGFtb3VudCBpcyBsZXNzIHRoYW4gYXZhaWxhYmxlLgQAAAANdXNlclZvdGVWYWx1ZQkBAAAACHNldFNoYXJlAAAAAQUAAAAKdm90ZUFtb3VudAQAAAAVdXNlckVOTk9Wb3RlZE5ld1NoYXJlCQAAZQAAAAIFAAAADHVzZXJWb3RlZFllcwUAAAANdXNlclZvdGVWYWx1ZQQAAAAQbmV3VG90YWxZZXNWb3RlZAkAAGUAAAACBQAAAAh0b3RhbFllcwUAAAANdXNlclZvdGVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAAxhaXJkcm9wVG9rZW4FAAAAGGtleVVzZXJFTk5PVm90ZWRZRVNWYWx1ZQUAAAAVdXNlckVOTk9Wb3RlZE5ld1NoYXJlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABBrZXlVc2VyRU5OT1ZvdGVkBQAAABB1c2VyRU5OT1ZvdGVkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBrZXlUb3RhbFllc1ZvdGVkBQAAABBuZXdUb3RhbFllc1ZvdGVkBQAAAANuaWwAAAABaQEAAAAEdm90ZQAAAAEAAAAKdm90ZUFtb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAMJAABmAAAAAgkBAAAABmdldFZhbAAAAAEFAAAADGtleVZvdGVTdGFydAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAG1ZvdGluZyBoYXMgbm90IHN0YXJ0ZWQgeWV0LgMJAABmAAAAAgUAAAAGaGVpZ2h0CQEAAAAGZ2V0VmFsAAAAAQUAAAAKa2V5Vm90ZUVuZAkAAAIAAAABAgAAABlWb3RpbmcgaGFzIGFscmVhZHkgZW5kZWQuBAAAAAh0b3RhbFllcwkBAAAABmdldFZhbAAAAAEFAAAAEGtleVRvdGFsWWVzVm90ZWQEAAAADGFpcmRyb3BUb2tlbgkAASwAAAACAgAAAAFfCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAEmFjdGl2ZUFpcmRyb3BUb2tlbgIAAAADTi9BBAAAAAx1c2VyVm90ZWRZZXMJAQAAAA9nZXRVc2VyVm90ZURhdGEAAAACCAUAAAABaQAAAAZjYWxsZXIJAAEsAAAAAgUAAAAMYWlyZHJvcFRva2VuBQAAABhrZXlVc2VyRU5OT1ZvdGVkWUVTVmFsdWUEAAAADXVzZXJFTk5PVm90ZWQJAQAAAA9nZXRVc2VyVm90ZURhdGEAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleVVzZXJFTk5PVm90ZWQEAAAADnVzZXJFTk5PTG9ja2VkCQEAAAAPZ2V0VXNlclZvdGVEYXRhAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyRU5OT0xvY2tlZAQAAAAQdXNlckVOTk9Wb3RlZE5ldwkAAGQAAAACBQAAAA11c2VyRU5OT1ZvdGVkBQAAAAp2b3RlQW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAABB1c2VyRU5OT1ZvdGVkTmV3CQAAAgAAAAECAAAAI1ZvdGUgYW1vdW50IGlzIG1vcmUgdGhhbiBhdmFpbGFibGUuBAAAAA1hdmFpbGFibGVWb3RlCQAAZQAAAAIFAAAADnVzZXJFTk5PTG9ja2VkBQAAAA11c2VyRU5OT1ZvdGVkBAAAAA11c2VyVm90ZVZhbHVlCQEAAAAIc2V0U2hhcmUAAAABBQAAAAp2b3RlQW1vdW50AwkAAGYAAAACBQAAAAp2b3RlQW1vdW50BQAAAA1hdmFpbGFibGVWb3RlCQAAAgAAAAECAAAAI1ZvdGUgYW1vdW50IGlzIG1vcmUgdGhhbiBhdmFpbGFibGUuBAAAABV1c2VyRU5OT1ZvdGVkTmV3U2hhcmUJAABkAAAAAgUAAAAMdXNlclZvdGVkWWVzBQAAAA11c2VyVm90ZVZhbHVlBAAAABBuZXdUb3RhbFllc1ZvdGVkCQAAZAAAAAIFAAAACHRvdGFsWWVzBQAAAA11c2VyVm90ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAADGFpcmRyb3BUb2tlbgUAAAAYa2V5VXNlckVOTk9Wb3RlZFlFU1ZhbHVlBQAAABV1c2VyRU5OT1ZvdGVkTmV3U2hhcmUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleVVzZXJFTk5PVm90ZWQFAAAAEHVzZXJFTk5PVm90ZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtleVRvdGFsWWVzVm90ZWQFAAAAEG5ld1RvdGFsWWVzVm90ZWQFAAAAA25pbAAAAAFpAQAAAAhsb2NrRU5OTwAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDg1Njg4NjQzCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwODU2ODg2NDMAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA4NTY4ODY0MwAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABEVOTk8JAAACAAAAAQIAAAA0SW5jb3JyZWN0IHBheW1lbnQgYXNzZXRJZCBvbmx5IEVubm8gQ2FzaCBpcyBhbGxvd2VkLgQAAAAOdXNlckVOTk9Mb2NrZWQJAQAAABFnZXRVc2VyRU5OT0xvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARdXNlckVOTk9Mb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlckVOTk9Mb2NrZWQFAAAACXBtdEFtb3VudAQAAAAPdG90YWxFTk5PTG9ja2VkCQEAAAASZ2V0VG90YWxFTk5PTG9ja2VkAAAAAAQAAAASdG90YWxFTk5PTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsRU5OT0xvY2tlZAUAAAAJcG10QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyRU5OT0xvY2tlZAUAAAARdXNlckVOTk9Mb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsRU5OT0xvY2tlZAUAAAASdG90YWxFTk5PTG9ja2VkTmV3BQAAAANuaWwAAAABaQEAAAAMd2l0aGRyYXdFTk5PAAAAAQAAAA53aXRoZHJhd0Ftb3VudAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAOdXNlckVOTk9Mb2NrZWQJAQAAABFnZXRVc2VyRU5OT0xvY2tlZAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAATYXZhaWxhYmxlVG9XaXRoZHJhdwkAAGUAAAACBQAAAA51c2VyRU5OT0xvY2tlZAkBAAAABmdldFZhbAAAAAEJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleVVzZXJFTk5PVm90ZWQDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABNhdmFpbGFibGVUb1dpdGhkcmF3CQAAAgAAAAECAAAAE1lvdXIgRW5ubyBpcyBsb2NrZWQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsRU5OT0xvY2tlZAkBAAAAEmdldFRvdGFsRU5OT0xvY2tlZAAAAAADCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAAA90b3RhbEVOTk9Mb2NrZWQJAAACAAAAAQIAAAAxd2l0aGRyYXdBbW91bnQgaXMgbW9yZSB0aGFuIGF2YWlsYWJsZSB0byB3aXRoZHJhdwMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAADnVzZXJFTk5PTG9ja2VkCQAAAgAAAAECAAAANFlvdSBhcmUgdHJ5aW5nIHRvIHVuc3Rha2UgbW9yZSB0aGFuIHlvdSBoYXZlIHN0YWtlZC4EAAAAEnRvdGFsRU5OT0xvY2tlZE5ldwkAAGUAAAACBQAAAA90b3RhbEVOTk9Mb2NrZWQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyRU5OT2Ftb3VudE5ldwkAAGUAAAACBQAAAA51c2VyRU5OT0xvY2tlZAUAAAAOd2l0aGRyYXdBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJFTk5PTG9ja2VkBQAAABF1c2VyRU5OT2Ftb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxFTk5PTG9ja2VkBQAAABJ0b3RhbEVOTk9Mb2NrZWROZXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAUAAAAERU5OTwUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdFTk5PAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAJdXNlclNoYXJlCQEAAAAOZ2V0Q2FsbGVyU2hhcmUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAQZ2V0Q2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAALY2xhaW1BbW91bnQJAABlAAAAAgUAAAAJdXNlclNoYXJlBQAAABF1c2VyQ2xhaW1lZEFtb3VudAQAAAAPdG90YWxFTk5PTG9ja2VkCQEAAAASZ2V0VG90YWxFTk5PTG9ja2VkAAAAAAMJAABmAAAAAgUAAAALY2xhaW1BbW91bnQFAAAAD3RvdGFsRU5OT0xvY2tlZAkAAAIAAAABAgAAAC5jbGFpbUFtb3VudCBpcyBtb3JlIHRoYW4gYXZhaWxhYmxlIHRvIHdpdGhkcmF3AwkAAGcAAAACAAAAAAAAAAAABQAAAAtjbGFpbUFtb3VudAkAAAIAAAABAgAAACJDbGFpbSBhbW91bnQgbXVzdCBiZSBiaWdnZXIgdGhhbiAwBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAAGGtleVVzZXJFTk5PQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAAHGtleVVzZXJFTk5PTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAABEVOTk8FAAAAA25pbAAAAAFpAQAAABFjbGFpbUFuZFN0YWtlRU5OTwAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACXVzZXJTaGFyZQkBAAAADmdldENhbGxlclNoYXJlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAEGdldENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAC2NsYWltQW1vdW50CQAAZQAAAAIFAAAACXVzZXJTaGFyZQUAAAARdXNlckNsYWltZWRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAC2NsYWltQW1vdW50CQAAAgAAAAECAAAAIkNsYWltIGFtb3VudCBtdXN0IGJlIGJpZ2dlciB0aGFuIDAEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAOdXNlckVOTk9Mb2NrZWQJAQAAABFnZXRVc2VyRU5OT0xvY2tlZAAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAARdXNlckVOTk9Mb2NrZWROZXcJAABkAAAAAgUAAAAOdXNlckVOTk9Mb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAAA90b3RhbEVOTk9Mb2NrZWQJAQAAABJnZXRUb3RhbEVOTk9Mb2NrZWQAAAAABAAAABJ0b3RhbEVOTk9Mb2NrZWROZXcJAABkAAAAAgUAAAAPdG90YWxFTk5PTG9ja2VkBQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAARa2V5VXNlckVOTk9Mb2NrZWQFAAAAEXVzZXJFTk5PTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBQAAABhrZXlVc2VyRU5OT0NsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBQAAABxrZXlVc2VyRU5OT0xhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxFTk5PTG9ja2VkBQAAABJ0b3RhbEVOTk9Mb2NrZWROZXcFAAAAA25pbAAAAAFpAQAAAAhzaHV0ZG93bgAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAEJAAEsAAAAAgIAAAAiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAAhrZXlDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACWtleUFjdGl2ZQYJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAAIa2V5Q2F1c2UFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAEmFkbWluUHViS2V5MVNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAxhZG1pblB1YktleTEAAAAAAAAAAAEAAAAAAAAAAAAEAAAAEmFkbWluUHViS2V5MlNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAxhZG1pblB1YktleTIAAAAAAAAAAAEAAAAAAAAAAAAEAAAAEmFkbWluUHViS2V5M1NpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAAxhZG1pblB1YktleTMAAAAAAAAAAAEAAAAAAAAAAAAJAABnAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAEmFkbWluUHViS2V5MVNpZ25lZAUAAAASYWRtaW5QdWJLZXkyU2lnbmVkBQAAABJhZG1pblB1YktleTNTaWduZWQAAAAAAAAAAAIWhBj2", "height": 1786437, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6KBnvHFutWAX1cfgivVoitadsq5gxdny2xpyoTEQT1yZ Next: 2sGXe7UDvGgrzd9rqixhgdChdRdCH7Mx1byRHdsxkKsd Diff:
OldNewDifferences
134134 then throw("DApp is inactive at this moment")
135135 else {
136136 let airdropToken = ("_" + valueOrElse(getString(this, activeAirdropToken), "N/A"))
137-[DeleteEntry(((address1 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address1 + keyUserENNOVoted)), DeleteEntry(((address2 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address2 + keyUserENNOVoted))]
137+[DeleteEntry(((address1 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address1 + keyUserENNOVoted)), DeleteEntry(((address2 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address2 + keyUserENNOVoted)), DeleteEntry("active_airdrop_amount"), DeleteEntry("active_airdrop_claim_status"), DeleteEntry("active_airdrop_token"), DeleteEntry("total_ENNO_vote_yes"), DeleteEntry("vote_end_height"), DeleteEntry("vote_start_height")]
138138 }
139139
140140
217217 func lockENNO () = if (!(isActive))
218218 then throw("DApp is inactive at this moment")
219219 else {
220- let $t083118386 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
221- let pmtAmount = $t083118386._1
222- let pmtAssetId = $t083118386._2
220+ let $t085688643 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
221+ let pmtAmount = $t085688643._1
222+ let pmtAssetId = $t085688643._2
223223 if ((pmtAssetId != ENNO))
224224 then throw("Incorrect payment assetId only Enno Cash is allowed.")
225225 else {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
55
66 let adminPubKey2 = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
77
88 let adminPubKey3 = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
99
1010 let adminPubKeyStartStop = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
1111
1212 let keyActive = "active"
1313
1414 let keyCause = "shutdown_cause"
1515
1616 let keyVoteStart = "vote_start_height"
1717
1818 let keyVoteEnd = "vote_end_height"
1919
2020 let keyVoteYes = "yes_amount"
2121
2222 let keyUserENNOVoted = "_ENNO_vote"
2323
2424 let keyUserENNOVotedHeight = "_ENNO_vote_height"
2525
2626 let keyUserENNOVotedValue = "_ENNO_vote_value"
2727
2828 let keyUserENNOVotedYESValue = "_ENNO_vote_yes_share"
2929
3030 let keyTotalYesVoted = "total_ENNO_vote_yes"
3131
3232 let keyUserENNOLocked = "_ENNO_amount"
3333
3434 let keyTotalENNOLocked = "total_ENNO_amount"
3535
3636 let activeAirdropToken = "active_airdrop_token"
3737
3838 let activeAirdropAmount = "active_airdrop_amount"
3939
4040 let claimAvailable = "active_airdrop_claim_status"
4141
4242 let keyUserENNOClaimedAmount = "_ENNO_claimed_amount"
4343
4444 let keyUserENNOLastClaimedAmount = "_ENNO_last_claimed_amount"
4545
4646 let keyUserENNOLockedTag = "share_"
4747
4848 let isActive = valueOrElse(getBoolean(this, keyActive), true)
4949
5050 let isAirdropClaim = valueOrElse(getBoolean(this, claimAvailable), false)
5151
5252 let shareData = base58'9NPkhjF6pssidKGhnMzHn9auzo5q5fPBaabRQBx7CaFq'
5353
5454 let ENNO = base58'6TmLfry3GRQoVSaesGSnp6NtZKveYgEopTLsjaGgXoso'
5555
5656 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
5757
5858
5959 func getUserENNOLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserENNOLocked)), 0)
6060
6161
6262 func getTotalENNOLocked () = valueOrElse(getInteger(this, keyTotalENNOLocked), 0)
6363
6464
6565 func getUserVoteData (user,key) = valueOrElse(getInteger(this, (toString(user) + key)), 0)
6666
6767
6868 func getVal (key) = valueOrElse(getInteger(this, key), 0)
6969
7070
7171 func getCallerShare (caller) = {
7272 let callerShare = getInteger(addressFromPublicKey(shareData), (keyUserENNOLockedTag + toString(caller)))
7373 let callerShareAmount = match callerShare {
7474 case share: Int =>
7575 share
7676 case share: Unit =>
7777 throw("Only governance qualifiers can call this function.")
7878 case _ =>
7979 throw("Match error")
8080 }
8181 callerShareAmount
8282 }
8383
8484
8585 func getClaimedAmount (caller) = {
8686 let callerWithdrawn = getInteger(this, (toString(caller) + keyUserENNOClaimedAmount))
8787 let callerWithdrawnAmount = match callerWithdrawn {
8888 case share: Int =>
8989 share
9090 case share: Unit =>
9191 0
9292 case _ =>
9393 throw("Match error")
9494 }
9595 callerWithdrawnAmount
9696 }
9797
9898
9999 func setShare (amount) = {
100100 let deltaHeight = (getVal(keyVoteEnd) - height)
101101 let share = fraction(amount, deltaHeight, 100000000)
102102 share
103103 }
104104
105105
106106 @Callable(i)
107107 func claimAirdrop () = if (!(isActive))
108108 then throw("DApp is inactive at this moment")
109109 else if (!(isAirdropClaim))
110110 then throw("Claim has not started yet.")
111111 else if ((getVal(keyVoteStart) > height))
112112 then throw("Voting has not started yet.")
113113 else if ((getVal(keyVoteEnd) > height))
114114 then throw("Voting has not ended yet.")
115115 else {
116116 let token = getStringValue(this, activeAirdropToken)
117117 let airdropAmount = getVal(activeAirdropAmount)
118118 let shareAssetId = fromBase58String(token)
119119 let airdropToken = ("_" + token)
120120 let share = getVal(((toString(i.caller) + airdropToken) + keyUserENNOVotedYESValue))
121121 if ((0 >= share))
122122 then throw("You already claimed or you have not participated.")
123123 else {
124124 let total = getVal(keyTotalYesVoted)
125125 let result = fraction(share, airdropAmount, total)
126126 [DeleteEntry(((toString(i.caller) + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((toString(i.caller) + keyUserENNOVoted)), ScriptTransfer(i.caller, result, shareAssetId)]
127127 }
128128 }
129129
130130
131131
132132 @Callable(i)
133133 func deleteEntry (address1,address2) = if (!(isActive))
134134 then throw("DApp is inactive at this moment")
135135 else {
136136 let airdropToken = ("_" + valueOrElse(getString(this, activeAirdropToken), "N/A"))
137-[DeleteEntry(((address1 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address1 + keyUserENNOVoted)), DeleteEntry(((address2 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address2 + keyUserENNOVoted))]
137+[DeleteEntry(((address1 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address1 + keyUserENNOVoted)), DeleteEntry(((address2 + airdropToken) + keyUserENNOVotedYESValue)), DeleteEntry((address2 + keyUserENNOVoted)), DeleteEntry("active_airdrop_amount"), DeleteEntry("active_airdrop_claim_status"), DeleteEntry("active_airdrop_token"), DeleteEntry("total_ENNO_vote_yes"), DeleteEntry("vote_end_height"), DeleteEntry("vote_start_height")]
138138 }
139139
140140
141141
142142 @Callable(i)
143143 func initVote (start,end,token,amount) = if (!(isActive))
144144 then throw("DApp is inactive at this moment")
145145 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
146146 then throw("Only admin can call this function")
147147 else [StringEntry(activeAirdropToken, token), IntegerEntry(activeAirdropAmount, amount), IntegerEntry(keyVoteStart, start), IntegerEntry(keyVoteEnd, end), IntegerEntry(keyTotalYesVoted, 0), BooleanEntry(claimAvailable, false)]
148148
149149
150150
151151 @Callable(i)
152152 func activateAirdropClaim (set) = if (!(isActive))
153153 then throw("DApp is inactive at this moment")
154154 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
155155 then throw("Only admin can call this function")
156156 else [BooleanEntry(claimAvailable, set)]
157157
158158
159159
160160 @Callable(i)
161161 func unvote (voteAmount) = if (!(isActive))
162162 then throw("DApp is inactive at this moment")
163163 else if ((getVal(keyVoteStart) > height))
164164 then throw("Voting has not started yet.")
165165 else if ((height > getVal(keyVoteEnd)))
166166 then throw("Voting has already ended.")
167167 else {
168168 let airdropToken = ("_" + valueOrElse(getString(this, activeAirdropToken), "N/A"))
169169 let totalYes = getVal(keyTotalYesVoted)
170170 let userVotedYes = getUserVoteData(i.caller, (airdropToken + keyUserENNOVotedYESValue))
171171 let userENNOVoted = getUserVoteData(i.caller, keyUserENNOVoted)
172172 let userENNOVotedNew = (userENNOVoted - voteAmount)
173173 if ((0 > userENNOVotedNew))
174174 then throw("Vote amount is less than available.")
175175 else {
176176 let userVoteValue = setShare(voteAmount)
177177 let userENNOVotedNewShare = (userVotedYes - userVoteValue)
178178 let newTotalYesVoted = (totalYes - userVoteValue)
179179 [IntegerEntry(((toString(i.caller) + airdropToken) + keyUserENNOVotedYESValue), userENNOVotedNewShare), IntegerEntry((toString(i.caller) + keyUserENNOVoted), userENNOVotedNew), IntegerEntry(keyTotalYesVoted, newTotalYesVoted)]
180180 }
181181 }
182182
183183
184184
185185 @Callable(i)
186186 func vote (voteAmount) = if (!(isActive))
187187 then throw("DApp is inactive at this moment")
188188 else if ((getVal(keyVoteStart) > height))
189189 then throw("Voting has not started yet.")
190190 else if ((height > getVal(keyVoteEnd)))
191191 then throw("Voting has already ended.")
192192 else {
193193 let totalYes = getVal(keyTotalYesVoted)
194194 let airdropToken = ("_" + valueOrElse(getString(this, activeAirdropToken), "N/A"))
195195 let userVotedYes = getUserVoteData(i.caller, (airdropToken + keyUserENNOVotedYESValue))
196196 let userENNOVoted = getUserVoteData(i.caller, keyUserENNOVoted)
197197 let userENNOLocked = getUserVoteData(i.caller, keyUserENNOLocked)
198198 let userENNOVotedNew = (userENNOVoted + voteAmount)
199199 if ((0 > userENNOVotedNew))
200200 then throw("Vote amount is more than available.")
201201 else {
202202 let availableVote = (userENNOLocked - userENNOVoted)
203203 let userVoteValue = setShare(voteAmount)
204204 if ((voteAmount > availableVote))
205205 then throw("Vote amount is more than available.")
206206 else {
207207 let userENNOVotedNewShare = (userVotedYes + userVoteValue)
208208 let newTotalYesVoted = (totalYes + userVoteValue)
209209 [IntegerEntry(((toString(i.caller) + airdropToken) + keyUserENNOVotedYESValue), userENNOVotedNewShare), IntegerEntry((toString(i.caller) + keyUserENNOVoted), userENNOVotedNew), IntegerEntry(keyTotalYesVoted, newTotalYesVoted)]
210210 }
211211 }
212212 }
213213
214214
215215
216216 @Callable(i)
217217 func lockENNO () = if (!(isActive))
218218 then throw("DApp is inactive at this moment")
219219 else {
220- let $t083118386 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
221- let pmtAmount = $t083118386._1
222- let pmtAssetId = $t083118386._2
220+ let $t085688643 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
221+ let pmtAmount = $t085688643._1
222+ let pmtAssetId = $t085688643._2
223223 if ((pmtAssetId != ENNO))
224224 then throw("Incorrect payment assetId only Enno Cash is allowed.")
225225 else {
226226 let userENNOLocked = getUserENNOLocked(i.caller)
227227 let userENNOLockedNew = (userENNOLocked + pmtAmount)
228228 let totalENNOLocked = getTotalENNOLocked()
229229 let totalENNOLockedNew = (totalENNOLocked + pmtAmount)
230230 [IntegerEntry((toString(i.caller) + keyUserENNOLocked), userENNOLockedNew), IntegerEntry(keyTotalENNOLocked, totalENNOLockedNew)]
231231 }
232232 }
233233
234234
235235
236236 @Callable(i)
237237 func withdrawENNO (withdrawAmount) = if (!(isActive))
238238 then throw("DApp is inactive at this moment")
239239 else {
240240 let userENNOLocked = getUserENNOLocked(i.caller)
241241 let availableToWithdraw = (userENNOLocked - getVal((toString(i.caller) + keyUserENNOVoted)))
242242 if ((withdrawAmount > availableToWithdraw))
243243 then throw("Your Enno is locked")
244244 else if ((0 >= withdrawAmount))
245245 then throw("withdrawAmount <= 0")
246246 else {
247247 let totalENNOLocked = getTotalENNOLocked()
248248 if ((withdrawAmount > totalENNOLocked))
249249 then throw("withdrawAmount is more than available to withdraw")
250250 else if ((withdrawAmount > userENNOLocked))
251251 then throw("You are trying to unstake more than you have staked.")
252252 else {
253253 let totalENNOLockedNew = (totalENNOLocked - withdrawAmount)
254254 let userENNOamountNew = (userENNOLocked - withdrawAmount)
255255 [IntegerEntry((toString(i.caller) + keyUserENNOLocked), userENNOamountNew), IntegerEntry(keyTotalENNOLocked, totalENNOLockedNew), ScriptTransfer(i.caller, withdrawAmount, ENNO)]
256256 }
257257 }
258258 }
259259
260260
261261
262262 @Callable(i)
263263 func claimAndWithdrawENNO () = if (!(isActive))
264264 then throw("DApp is inactive at this moment")
265265 else {
266266 let userShare = getCallerShare(i.originCaller)
267267 let userClaimedAmount = getClaimedAmount(i.originCaller)
268268 let claimAmount = (userShare - userClaimedAmount)
269269 let totalENNOLocked = getTotalENNOLocked()
270270 if ((claimAmount > totalENNOLocked))
271271 then throw("claimAmount is more than available to withdraw")
272272 else if ((0 >= claimAmount))
273273 then throw("Claim amount must be bigger than 0")
274274 else {
275275 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
276276 [IntegerEntry((toString(i.originCaller) + keyUserENNOClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.originCaller) + keyUserENNOLastClaimedAmount), claimAmount), ScriptTransfer(i.originCaller, claimAmount, ENNO)]
277277 }
278278 }
279279
280280
281281
282282 @Callable(i)
283283 func claimAndStakeENNO () = if (!(isActive))
284284 then throw("DApp is inactive at this moment")
285285 else {
286286 let userShare = getCallerShare(i.originCaller)
287287 let userClaimedAmount = getClaimedAmount(i.originCaller)
288288 let claimAmount = (userShare - userClaimedAmount)
289289 if ((0 >= claimAmount))
290290 then throw("Claim amount must be bigger than 0")
291291 else {
292292 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
293293 let userENNOLocked = getUserENNOLocked(i.originCaller)
294294 let userENNOLockedNew = (userENNOLocked + claimAmount)
295295 let totalENNOLocked = getTotalENNOLocked()
296296 let totalENNOLockedNew = (totalENNOLocked + claimAmount)
297297 [IntegerEntry((toString(i.originCaller) + keyUserENNOLocked), userENNOLockedNew), IntegerEntry((toString(i.originCaller) + keyUserENNOClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.originCaller) + keyUserENNOLastClaimedAmount), claimAmount), IntegerEntry(keyTotalENNOLocked, totalENNOLockedNew)]
298298 }
299299 }
300300
301301
302302
303303 @Callable(i)
304304 func shutdown () = if (!(isActive))
305305 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
306306 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
307307 then throw("Only admin can call this function")
308308 else suspend("Paused by admin")
309309
310310
311311
312312 @Callable(i)
313313 func activate () = if (isActive)
314314 then throw("DApp is already active")
315315 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
316316 then throw("Only admin can call this function")
317317 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
318318
319319
320320 @Verifier(tx)
321321 func verify () = {
322322 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
323323 then 1
324324 else 0
325325 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
326326 then 1
327327 else 0
328328 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
329329 then 1
330330 else 0
331331 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
332332 }
333333

github/deemru/w8io/c3f4982 
39.31 ms