tx · 6kzXroB6x4oqgzmaP3W2A26C3VoqSpA1A7zyiddi18y2

3MwyBKGZcdChEK9Z55HwLn3A2EgwEJJpqC1:  -0.01100000 Waves

2024.01.09 15:44 [2923960] smart account 3MwyBKGZcdChEK9Z55HwLn3A2EgwEJJpqC1 > SELF 0.00000000 Waves

{ "type": 13, "id": "6kzXroB6x4oqgzmaP3W2A26C3VoqSpA1A7zyiddi18y2", "fee": 1100000, "feeAssetId": null, "timestamp": 1704804274573, "version": 2, "chainId": 84, "sender": "3MwyBKGZcdChEK9Z55HwLn3A2EgwEJJpqC1", "senderPublicKey": "7c3qLtcJ7EaPS2JDjXv8MBbd4kpyc6R27wcn5GgvZhur", "proofs": [ "fKr2gxtVLGV7Fv1kRjkhM5kNasFEDxKTKnoa1FbkHmwzA4PVxmRTJRRnGYpa8yrV2VMFme7vfq7CYrMmNFTSMhS" ], "script": "base64:BgIWCAISBgoECAEBARIAEgMKAQgSAwoBCBwADGNvbnRyYWN0RmlsZQIQdmVzdGluZ19uZW8ucmlkZQADU0VQAgJfXwAISURTX0xJU1QJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUJAMwIAgAGCQDMCAIABwkAzAgCAAgJAMwIAgAJCQDMCAIACgkAzAgCAAsJAMwIAgAMCQDMCAIADQkAzAgCAA4JAMwIAgAPCQDMCAIAEAkAzAgCABEJAMwIAgASCQDMCAIAEwkAzAgCABQJAMwIAgAVCQDMCAIAFgkAzAgCABcJAMwIAgAYCQDMCAIAGQkAzAgCABoJAMwIAgAbCQDMCAIAHAkAzAgCAB0FA25pbAARTUFYX1ZFU1RJTkdfQ09VTlQJAJADAQUISURTX0xJU1QBCHRocm93RXJyAQNtc2cJAAIBCQCsAgIJAKwCAgUMY29udHJhY3RGaWxlAgI6IAUDbXNnAAprZXlBc3NldElkCQC5CQIJAMwIAgICJXMJAMwIAgIHYXNzZXRJZAUDbmlsBQNTRVAADWFzc2V0SWRTdHJpbmcJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUKa2V5QXNzZXRJZAIFV0FWRVMADGFzc2V0SWRCeXRlcwMJAAACBQ1hc3NldElkU3RyaW5nAgVXQVZFUwUEdW5pdAkA2QQBBQ1hc3NldElkU3RyaW5nAAxrZXlBZG1pbkxpc3QJALkJAgkAzAgCAgIlcwkAzAgCAglhZG1pbkxpc3QFA25pbAUDU0VQAAprZXlCYW5MaXN0CQC5CQIJAMwIAgICJXMJAMwIAgIHYmFuTGlzdAUDbmlsBQNTRVAACWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQR0aGlzBQxrZXlBZG1pbkxpc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQC1CQIFAXMFA1NFUAUDbmlsAAdiYW5MaXN0BAckbWF0Y2gwCQCdCAIFBHRoaXMFCmtleUJhbkxpc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwAwkAAAIFAXMCAAUDbmlsCQC9CQIFAXMFA1NFUAUDbmlsARRpc1ZhbGlkQWRkcmVzc1N0cmluZwENYWRkcmVzc1N0cmluZwQHJG1hdGNoMAkApggBBQ1hZGRyZXNzU3RyaW5nAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGBwEOa2V5VXNlclZlc3RpbmcCC3VzZXJBZGRyZXNzAmlkBAZjaGVja3MJAMwIAgMJARRpc1ZhbGlkQWRkcmVzc1N0cmluZwEFC3VzZXJBZGRyZXNzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICFWFkZHJlc3MgaXMgbm90IHZhbGlkOgkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsAgEgCQDMCAIDAwkAZwIFAmlkAAAJAGYCBRFNQVhfVkVTVElOR19DT1VOVAUCaWQHBgkBCHRocm93RXJyAQkAuQkCCQDMCAICFmlkIHNob3VsZCBiZSBsZXNzIHRoYW4JAMwIAgkApAMBBRFNQVhfVkVTVElOR19DT1VOVAkAzAgCAgRnb3Q6CQDMCAIJAKQDAQUCaWQFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICB3Zlc3RpbmcJAMwIAgULdXNlckFkZHJlc3MJAMwIAgkApAMBBQJpZAUDbmlsBQNTRVAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEmtleVVzZXJBY2N1bXVsYXRlZAELdXNlckFkZHJlc3MEBmNoZWNrcwkAzAgCAwkBFGlzVmFsaWRBZGRyZXNzU3RyaW5nAQULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIVYWRkcmVzcyBpcyBub3QgdmFsaWQ6CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwCASAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwkAuQkCCQDMCAICBCVzJXMJAMwIAgILYWNjdW11bGF0ZWQJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARFmb3JtYXRVc2VyVmVzdGluZwMNdmVzdGluZ0Ftb3VudApzdGFydEJsb2NrCmxvY2tMZW5ndGgEBmNoZWNrcwkAzAgCAwkAZwIFDXZlc3RpbmdBbW91bnQAAAYJAQh0aHJvd0VycgECIXZlc3RpbmcgYW1vdW50IGNhbm5vdCBiZSBuZWdhdGl2ZQkAzAgCAwkAZwIFCnN0YXJ0QmxvY2sAAAYJAQh0aHJvd0VycgECHnN0YXJ0IGJsb2NrIGNhbm5vdCBiZSBuZWdhdGl2ZQkAzAgCAwkAZwIFCmxvY2tMZW5ndGgAAAYJAQh0aHJvd0VycgECHmxvY2sgbGVuZ3RoIGNhbm5vdCBiZSBuZWdhdGl2ZQUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzCQC5CQIJAMwIAgIKJWQlZCVkJWQlZAkAzAgCCQCkAwEFDXZlc3RpbmdBbW91bnQJAMwIAgkApAMBBQpzdGFydEJsb2NrCQDMCAIJAKQDAQUKbG9ja0xlbmd0aAUDbmlsBQNTRVAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEHBhcnNlVXNlclZlc3RpbmcCC3VzZXJBZGRyZXNzAmlkBAckbWF0Y2gwCQCdCAIFBHRoaXMJAQ5rZXlVc2VyVmVzdGluZwIFC3VzZXJBZGRyZXNzBQJpZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcECXJhd1N0cmluZwUHJG1hdGNoMAQLc3BsaXRTdHJpbmcJALUJAgUJcmF3U3RyaW5nBQNTRVAEDXZlc3RpbmdBbW91bnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtzcGxpdFN0cmluZwABBApzdGFydEJsb2NrCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgULc3BsaXRTdHJpbmcAAgQKbG9ja0xlbmd0aAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFC3NwbGl0U3RyaW5nAAMJAJUKAwUNdmVzdGluZ0Ftb3VudAUKc3RhcnRCbG9jawUKbG9ja0xlbmd0aAkAlQoDAAAAAAAAARFrZXlWZXN0aW5nSGlzdG9yeQMGYWN0aW9uC3VzZXJBZGRyZXNzBHR4SWQJALkJAgkAzAgCAgglcyVzJXMlcwkAzAgCAgdoaXN0b3J5CQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFBmFjdGlvbgkAzAgCBQR0eElkBQNuaWwFA1NFUAESY2FsY1VubG9ja2VkQW1vdW50AwZhbW91bnQKc3RhcnRCbG9jawpsb2NrTGVuZ3RoBA1lbGFwc2VkQmxvY2tzCQBlAgUGaGVpZ2h0BQpzdGFydEJsb2NrBA51bmxvY2tlZEFtb3VudAMDCQECIT0CBQpsb2NrTGVuZ3RoAAAJAGYCBQ1lbGFwc2VkQmxvY2tzAAAHCQCXAwEJAMwIAgkAawMFBmFtb3VudAUNZWxhcHNlZEJsb2NrcwUKbG9ja0xlbmd0aAkAzAgCBQZhbW91bnQFA25pbAAACQCUCgIFDnVubG9ja2VkQW1vdW50CQBlAgUGYW1vdW50BQ51bmxvY2tlZEFtb3VudAEVZ2V0VXNlclVubG9ja2VkQW1vdW50Agt1c2VyQWRkcmVzcwJpZAQLJHQwMzIxNDMyOTMJARBwYXJzZVVzZXJWZXN0aW5nAgULdXNlckFkZHJlc3MFAmlkBA12ZXN0aW5nQW1vdW50CAULJHQwMzIxNDMyOTMCXzEECnN0YXJ0QmxvY2sIBQskdDAzMjE0MzI5MwJfMgQKbG9ja0xlbmd0aAgFCyR0MDMyMTQzMjkzAl8zBAskdDAzMjk2MzM5MwkBEmNhbGNVbmxvY2tlZEFtb3VudAMFDXZlc3RpbmdBbW91bnQFCnN0YXJ0QmxvY2sFCmxvY2tMZW5ndGgEDnVubG9ja2VkQW1vdW50CAULJHQwMzI5NjMzOTMCXzEED3JlbWFpbmluZ0Ftb3VudAgFCyR0MDMyOTYzMzkzAl8yCQCUCgIFDnVubG9ja2VkQW1vdW50BQ9yZW1haW5pbmdBbW91bnQBF2dldFVwZGF0ZVZlc3RpbmdBY3Rpb25zAgt1c2VyQWRkcmVzcwJpZAQLJHQwMzUwMDM1NzkJARBwYXJzZVVzZXJWZXN0aW5nAgULdXNlckFkZHJlc3MFAmlkBA12ZXN0aW5nQW1vdW50CAULJHQwMzUwMDM1NzkCXzEECnN0YXJ0QmxvY2sIBQskdDAzNTAwMzU3OQJfMgQKbG9ja0xlbmd0aAgFCyR0MDM1MDAzNTc5Al8zBAskdDAzNTgyMzY2MAkBFWdldFVzZXJVbmxvY2tlZEFtb3VudAIFC3VzZXJBZGRyZXNzBQJpZAQOdW5sb2NrZWRBbW91bnQIBQskdDAzNTgyMzY2MAJfMQQPcmVtYWluaW5nQW1vdW50CAULJHQwMzU4MjM2NjACXzIED3JlbWFpbmluZ0Jsb2NrcwkAlgMBCQDMCAIJAGUCCQBkAgUKc3RhcnRCbG9jawUKbG9ja0xlbmd0aAUGaGVpZ2h0CQDMCAIAAAUDbmlsBBR1cGRhdGVWZXN0aW5nQWN0aW9ucwMJAQIhPQIFDnVubG9ja2VkQW1vdW50AAADCQECIT0CBQ9yZW1haW5pbmdCbG9ja3MAAAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5VXNlclZlc3RpbmcCBQt1c2VyQWRkcmVzcwUCaWQJARFmb3JtYXRVc2VyVmVzdGluZwMFD3JlbWFpbmluZ0Ftb3VudAUGaGVpZ2h0BQ9yZW1haW5pbmdCbG9ja3MFA25pbAkAzAgCCQELRGVsZXRlRW50cnkBCQEOa2V5VXNlclZlc3RpbmcCBQt1c2VyQWRkcmVzcwUCaWQFA25pbAUDbmlsCQCUCgIFFHVwZGF0ZVZlc3RpbmdBY3Rpb25zBQ51bmxvY2tlZEFtb3VudAETZ2V0VXNlckNsYWltQWN0aW9ucwILdXNlckFkZHJlc3MCaWQECyR0MDQxMjQ0MjA5CQEXZ2V0VXBkYXRlVmVzdGluZ0FjdGlvbnMCBQt1c2VyQWRkcmVzcwUCaWQEFHVwZGF0ZVZlc3RpbmdBY3Rpb25zCAULJHQwNDEyNDQyMDkCXzEEDnVubG9ja2VkQW1vdW50CAULJHQwNDEyNDQyMDkCXzIED3RyYW5zZmVyQWN0aW9ucwMJAQIhPQIFDnVubG9ja2VkQW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQULdXNlckFkZHJlc3MFDnVubG9ja2VkQW1vdW50BQxhc3NldElkQnl0ZXMFA25pbAUDbmlsCQCUCgIJAM4IAgUUdXBkYXRlVmVzdGluZ0FjdGlvbnMFD3RyYW5zZmVyQWN0aW9ucwUOdW5sb2NrZWRBbW91bnQBFmdldEFsbFVzZXJDbGFpbUFjdGlvbnMBC3VzZXJBZGRyZXNzCgENYWN0aW9uc0hlbHBlcgIDYWNjAWEECyR0MDQ1ODM0NjIzBQNhY2MEF2FsbFZlc3RpbmdzQ2xhaW1BY3Rpb25zCAULJHQwNDU4MzQ2MjMCXzEEA3N1bQgFCyR0MDQ1ODM0NjIzAl8yBAskdDA0NjI4NDcwNAkBE2dldFVzZXJDbGFpbUFjdGlvbnMCBQt1c2VyQWRkcmVzcwUBYQQTdmVzdGluZ0NsYWltQWN0aW9ucwgFCyR0MDQ2Mjg0NzA0Al8xBAtjbGFpbUFtb3VudAgFCyR0MDQ2Mjg0NzA0Al8yCQCUCgIJAM4IAgUXYWxsVmVzdGluZ3NDbGFpbUFjdGlvbnMFE3Zlc3RpbmdDbGFpbUFjdGlvbnMJAGQCBQNzdW0FC2NsYWltQW1vdW50CgACJGwFCElEU19MSVNUCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQENYWN0aW9uc0hlbHBlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMzAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4BJmdldE1vdmVBbGxVbmxvY2tlZFRvQWNjdW11bGF0b3JBY3Rpb25zAQt1c2VyQWRkcmVzcwoBDWFjdGlvbnNIZWxwZXICA2FjYwFhBAskdDA0OTk2NTAzNwUDYWNjBBh1cGRhdGVBbGxWZXN0aW5nc0FjdGlvbnMIBQskdDA0OTk2NTAzNwJfMQQDc3VtCAULJHQwNDk5NjUwMzcCXzIECyR0MDUwNDI1MTI2CQEXZ2V0VXBkYXRlVmVzdGluZ0FjdGlvbnMCBQt1c2VyQWRkcmVzcwUBYQQUdXBkYXRlVmVzdGluZ0FjdGlvbnMIBQskdDA1MDQyNTEyNgJfMQQOdW5sb2NrZWRBbW91bnQIBQskdDA1MDQyNTEyNgJfMgkAlAoCCQDOCAIFGHVwZGF0ZUFsbFZlc3RpbmdzQWN0aW9ucwUUdXBkYXRlVmVzdGluZ0FjdGlvbnMJAGQCBQNzdW0FDnVubG9ja2VkQW1vdW50BAskdDA1MjEyNTMwMAoAAiRsBQhJRFNfTElTVAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDWFjdGlvbnNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDMwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeBBh1cGRhdGVBbGxWZXN0aW5nc0FjdGlvbnMIBQskdDA1MjEyNTMwMAJfMQQLdW5sb2NrZWRTdW0IBQskdDA1MjEyNTMwMAJfMgQOb2xkQWNjdW11bGF0ZWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBEmtleVVzZXJBY2N1bXVsYXRlZAEFC3VzZXJBZGRyZXNzAAAEGHVwZGF0ZUFjY3VtdWxhdGVkQWN0aW9ucwMJAQIhPQIFC3VubG9ja2VkU3VtAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJARJrZXlVc2VyQWNjdW11bGF0ZWQBBQt1c2VyQWRkcmVzcwkAZAIFDm9sZEFjY3VtdWxhdGVkBQt1bmxvY2tlZFN1bQUDbmlsBQNuaWwJAJQKAgkAzggCBRh1cGRhdGVBbGxWZXN0aW5nc0FjdGlvbnMFGHVwZGF0ZUFjY3VtdWxhdGVkQWN0aW9ucwULdW5sb2NrZWRTdW0BGmdldENsYWltQWNjdW11bGF0ZWRBY3Rpb25zAQt1c2VyQWRkcmVzcwQOb2xkQWNjdW11bGF0ZWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBEmtleVVzZXJBY2N1bXVsYXRlZAEFC3VzZXJBZGRyZXNzAAADCQECIT0CBQ5vbGRBY2N1bXVsYXRlZAAACQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQULdXNlckFkZHJlc3MFDm9sZEFjY3VtdWxhdGVkBQxhc3NldElkQnl0ZXMJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEmtleVVzZXJBY2N1bXVsYXRlZAEFC3VzZXJBZGRyZXNzBQNuaWwFDm9sZEFjY3VtdWxhdGVkCQCUCgIFA25pbAAAARJnZXRDbGFpbUFsbEFjdGlvbnMBC3VzZXJBZGRyZXNzBAskdDA2MDY4NjE0MAkBFmdldEFsbFVzZXJDbGFpbUFjdGlvbnMBBQt1c2VyQWRkcmVzcwQMY2xhaW1BY3Rpb25zCAULJHQwNjA2ODYxNDACXzEEDnVubG9ja2VkQW1vdW50CAULJHQwNjA2ODYxNDACXzIECyR0MDYxNDM2MjMzCQEaZ2V0Q2xhaW1BY2N1bXVsYXRlZEFjdGlvbnMBBQt1c2VyQWRkcmVzcwQXY2xhaW1BY2N1bXVsYXRlZEFjdGlvbnMIBQskdDA2MTQzNjIzMwJfMQQRYWNjdW11bGF0ZWRBbW91bnQIBQskdDA2MTQzNjIzMwJfMgQLdG90YWxBbW91bnQJAGQCBQ51bmxvY2tlZEFtb3VudAURYWNjdW11bGF0ZWRBbW91bnQDCQBmAgULdG90YWxBbW91bnQAAAkAlAoCCQDOCAIFDGNsYWltQWN0aW9ucwUXY2xhaW1BY2N1bXVsYXRlZEFjdGlvbnMFC3RvdGFsQW1vdW50CQEIdGhyb3dFcnIBAhBub3RoaW5nIHRvIGNsYWltARVnZXRBdmFpbGFibGVWZXN0aW5nSWQBC3VzZXJBZGRyZXNzCgEGaGVscGVyAgthdmFpbGFibGVJZAJpZAQLJHQwNjUyNDY2MDMJARBwYXJzZVVzZXJWZXN0aW5nAgULdXNlckFkZHJlc3MFAmlkBA12ZXN0aW5nQW1vdW50CAULJHQwNjUyNDY2MDMCXzEECnN0YXJ0QmxvY2sIBQskdDA2NTI0NjYwMwJfMgQKbG9ja0xlbmd0aAgFCyR0MDY1MjQ2NjAzAl8zAwkAZgIFDXZlc3RpbmdBbW91bnQAAAULYXZhaWxhYmxlSWQDCQAAAgULYXZhaWxhYmxlSWQA////////////AQUCaWQJAJcDAQkAzAgCBQthdmFpbGFibGVJZAkAzAgCBQJpZAUDbmlsBAthdmFpbGFibGVJZAoAAiRsBQhJRFNfTElTVAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAA////////////AQoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEGaGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAzMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgMJAAACBQthdmFpbGFibGVJZAD///////////8BCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIodXNlciBleGNlZWRlZCBtYXggYWN0aXZlIHZlc3RpbmcgY291bnQ6IAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsAgEgBQthdmFpbGFibGVJZAEUZ2V0TmV3VmVzdGluZ0FjdGlvbnMFC3VzZXJBZGRyZXNzAmlkDXZlc3RpbmdBbW91bnQKc3RhcnRCbG9jawpsb2NrTGVuZ3RoCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlVc2VyVmVzdGluZwIFC3VzZXJBZGRyZXNzBQJpZAkBEWZvcm1hdFVzZXJWZXN0aW5nAwUNdmVzdGluZ0Ftb3VudAUKc3RhcnRCbG9jawUKbG9ja0xlbmd0aAUDbmlsBAFpAQ52ZXN0aW5nRm9yVXNlcgQLdXNlckFkZHJlc3MNdmVzdGluZ0Ftb3VudApzdGFydEJsb2NrCmxvY2tMZW5ndGgEBWNoZWNrCQDMCAIDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABBgkBCHRocm93RXJyAQIgc2hvdWxkIGJlIHdpdGggZXhhY3RseSAxIHBheW1lbnQJAMwIAgMJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFDGFzc2V0SWRCeXRlcwYJAQh0aHJvd0VycgEJALkJAgkAzAgCAhtwYXltZW50IGFzc2V0SWQgc2hvdWxkIGJlOiAJAMwIAgUNYXNzZXRJZFN0cmluZwUDbmlsAgEgCQDMCAIDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFDXZlc3RpbmdBbW91bnQGCQEIdGhyb3dFcnIBAi9wYXltZW50IGFtb3VudCBzaG91bGQgYmUgZXF1YWwgdG8gdmVzdGluZ0Ftb3VudAkAzAgCAwMJAAACBQlhZG1pbkxpc3QFA25pbAYJAQ9jb250YWluc0VsZW1lbnQCBQlhZG1pbkxpc3QJAKUIAQgFAWkGY2FsbGVyBgkBCHRocm93RXJyAQIReW91IG11c3QgYmUgYWRtaW4FA25pbAMJAAACBQVjaGVjawUFY2hlY2sEAmlkCQEVZ2V0QXZhaWxhYmxlVmVzdGluZ0lkAQULdXNlckFkZHJlc3MEDmhpc3RvcnlBY3Rpb25zCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERa2V5VmVzdGluZ0hpc3RvcnkDAgZ2ZXN0ZWQFC3VzZXJBZGRyZXNzCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQFDXZlc3RpbmdBbW91bnQFA25pbAkAzggCCQEUZ2V0TmV3VmVzdGluZ0FjdGlvbnMFBQt1c2VyQWRkcmVzcwUCaWQFDXZlc3RpbmdBbW91bnQFCnN0YXJ0QmxvY2sFCmxvY2tMZW5ndGgFDmhpc3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGNsYWltQWxsAAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAskdDA4MDgwODE0NQkBEmdldENsYWltQWxsQWN0aW9ucwEFC3VzZXJBZGRyZXNzBAxjbGFpbUFjdGlvbnMIBQskdDA4MDgwODE0NQJfMQQLdG90YWxBbW91bnQIBQskdDA4MDgwODE0NQJfMgQOaGlzdG9yeUFjdGlvbnMJAMwIAgkBDEludGVnZXJFbnRyeQIJARFrZXlWZXN0aW5nSGlzdG9yeQMCB2NsYWltZWQFC3VzZXJBZGRyZXNzCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQFC3RvdGFsQW1vdW50BQNuaWwJAM4IAgUMY2xhaW1BY3Rpb25zBQ5oaXN0b3J5QWN0aW9ucwFpAQNiYW4BC3VzZXJBZGRyZXNzBAZjaGVja3MJAMwIAgMDCQAAAgUJYWRtaW5MaXN0BQNuaWwGCQEPY29udGFpbnNFbGVtZW50AgUJYWRtaW5MaXN0CQClCAEIBQFpBmNhbGxlcgYJAQh0aHJvd0VycgECEXlvdSBtdXN0IGJlIGFkbWluCQDMCAIDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQdiYW5MaXN0BQt1c2VyQWRkcmVzcwYJAQh0aHJvd0VycgEJALkJAgkAzAgCAht1c2VyIGFscmVhZHkgaW4gYSBiYW4gbGlzdDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBAskdDA4NjE3ODcwNQkBJmdldE1vdmVBbGxVbmxvY2tlZFRvQWNjdW11bGF0b3JBY3Rpb25zAQULdXNlckFkZHJlc3MEGG1vdmVUb0FjY3VtdWxhdGVkQWN0aW9ucwgFCyR0MDg2MTc4NzA1Al8xBAJfYQgFCyR0MDg2MTc4NzA1Al8yBBNhZGRUb0Jhbkxpc3RBY3Rpb25zCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmtleUJhbkxpc3QJALsJAgkAzQgCBQdiYW5MaXN0BQt1c2VyQWRkcmVzcwICX18FA25pbAkAzggCBRhtb3ZlVG9BY2N1bXVsYXRlZEFjdGlvbnMFE2FkZFRvQmFuTGlzdEFjdGlvbnMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFdW5iYW4BC3VzZXJBZGRyZXNzBAZjaGVja3MJAMwIAgMDCQAAAgUJYWRtaW5MaXN0BQNuaWwGCQEPY29udGFpbnNFbGVtZW50AgUJYWRtaW5MaXN0CQClCAEIBQFpBmNhbGxlcgYJAQh0aHJvd0VycgECEXlvdSBtdXN0IGJlIGFkbWluCQDMCAIDCQEPY29udGFpbnNFbGVtZW50AgUHYmFuTGlzdAULdXNlckFkZHJlc3MGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIXdXNlciBub3QgaW4gYSBiYW4gbGlzdDoJAMwIAgULdXNlckFkZHJlc3MFA25pbAIBIAUDbmlsAwkAAAIFBmNoZWNrcwUGY2hlY2tzBApuZXdCYW5MaXN0BAckbWF0Y2gwCQDPCAIFB2Jhbkxpc3QFC3VzZXJBZGRyZXNzAwkAAQIFByRtYXRjaDACA0ludAQDaW5kBQckbWF0Y2gwCQDRCAIFB2Jhbkxpc3QFA2luZAkBCHRocm93RXJyAQIrdXNlciBhZGRyZXNzIGluZGV4IGluIGJhbiBsaXN0IGlzIG5vdCBmb3VuZAMJAAACBQpuZXdCYW5MaXN0BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUKa2V5QmFuTGlzdAUDbmlsCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmtleUJhbkxpc3QJALsJAgUKbmV3QmFuTGlzdAICX18FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAJi2tU", "height": 2923960, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AA7g7dX8UfSR8BYfNyy1tngFPsP3LNMVcfdt8u5VodX Next: 98X4ibmc8qTMJqFX8dmgmz29qeHfKGDuGTUmuxGqagi8 Diff:
OldNewDifferences
362362 }
363363 else e("user address index in ban list is not found")
364364 }
365- if ((aQ == [""]))
365+ if ((aQ == nil))
366366 then [DeleteEntry(k)]
367367 else [StringEntry(k, makeString_11C(aQ, "__"))]
368368 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "vesting_neo.ride"
55
66 let b = "__"
77
88 let c = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
99
1010 let d = size(c)
1111
1212 func e (f) = throw(((a + ": ") + f))
1313
1414
1515 let g = makeString(["%s", "assetId"], b)
1616
1717 let h = valueOrElse(getString(this, g), "WAVES")
1818
1919 let i = if ((h == "WAVES"))
2020 then unit
2121 else fromBase58String(h)
2222
2323 let j = makeString(["%s", "adminList"], b)
2424
2525 let k = makeString(["%s", "banList"], b)
2626
2727 let l = {
2828 let m = getString(this, j)
2929 if ($isInstanceOf(m, "String"))
3030 then {
3131 let n = m
3232 split(n, b)
3333 }
3434 else nil
3535 }
3636
3737 let o = {
3838 let m = getString(this, k)
3939 if ($isInstanceOf(m, "String"))
4040 then {
4141 let n = m
4242 if ((n == ""))
4343 then nil
4444 else split_51C(n, b)
4545 }
4646 else nil
4747 }
4848
4949 func p (q) = {
5050 let m = addressFromString(q)
5151 if ($isInstanceOf(m, "Address"))
5252 then {
5353 let r = m
5454 true
5555 }
5656 else false
5757 }
5858
5959
6060 func s (t,u) = {
6161 let v = [if (p(t))
6262 then true
6363 else e(makeString(["address is not valid:", t], " ")), if (if ((u >= 0))
6464 then (d > u)
6565 else false)
6666 then true
6767 else e(makeString(["id should be less than", toString(d), "got:", toString(u)], " "))]
6868 if ((v == v))
6969 then makeString(["%s%s%d", "vesting", t, toString(u)], b)
7070 else throw("Strict value is not equal to itself.")
7171 }
7272
7373
7474 func w (t) = {
7575 let v = [if (p(t))
7676 then true
7777 else e(makeString(["address is not valid:", t], " "))]
7878 if ((v == v))
7979 then makeString(["%s%s", "accumulated", t], b)
8080 else throw("Strict value is not equal to itself.")
8181 }
8282
8383
8484 func x (y,z,A) = {
8585 let v = [if ((y >= 0))
8686 then true
8787 else e("vesting amount cannot be negative"), if ((z >= 0))
8888 then true
8989 else e("start block cannot be negative"), if ((A >= 0))
9090 then true
9191 else e("lock length cannot be negative")]
9292 if ((v == v))
9393 then makeString(["%d%d%d%d%d", toString(y), toString(z), toString(A)], b)
9494 else throw("Strict value is not equal to itself.")
9595 }
9696
9797
9898 func B (t,u) = {
9999 let m = getString(this, s(t, u))
100100 if ($isInstanceOf(m, "String"))
101101 then {
102102 let C = m
103103 let D = split(C, b)
104104 let y = parseIntValue(D[1])
105105 let z = parseIntValue(D[2])
106106 let A = parseIntValue(D[3])
107107 $Tuple3(y, z, A)
108108 }
109109 else $Tuple3(0, 0, 0)
110110 }
111111
112112
113113 func E (F,t,G) = makeString(["%s%s%s%s", "history", t, F, G], b)
114114
115115
116116 func H (I,z,A) = {
117117 let J = (height - z)
118118 let K = if (if ((A != 0))
119119 then (J > 0)
120120 else false)
121121 then min([fraction(I, J, A), I])
122122 else 0
123123 $Tuple2(K, (I - K))
124124 }
125125
126126
127127 func L (t,u) = {
128128 let M = B(t, u)
129129 let y = M._1
130130 let z = M._2
131131 let A = M._3
132132 let N = H(y, z, A)
133133 let K = N._1
134134 let O = N._2
135135 $Tuple2(K, O)
136136 }
137137
138138
139139 func P (t,u) = {
140140 let Q = B(t, u)
141141 let y = Q._1
142142 let z = Q._2
143143 let A = Q._3
144144 let R = L(t, u)
145145 let K = R._1
146146 let O = R._2
147147 let S = max([((z + A) - height), 0])
148148 let T = if ((K != 0))
149149 then if ((S != 0))
150150 then [StringEntry(s(t, u), x(O, height, S))]
151151 else [DeleteEntry(s(t, u))]
152152 else nil
153153 $Tuple2(T, K)
154154 }
155155
156156
157157 func U (t,u) = {
158158 let V = P(t, u)
159159 let T = V._1
160160 let K = V._2
161161 let W = if ((K != 0))
162162 then [ScriptTransfer(addressFromStringValue(t), K, i)]
163163 else nil
164164 $Tuple2((T ++ W), K)
165165 }
166166
167167
168168 func X (t) = {
169169 func Y (Z,r) = {
170170 let aa = Z
171171 let ab = aa._1
172172 let ac = aa._2
173173 let ad = U(t, r)
174174 let ae = ad._1
175175 let af = ad._2
176176 $Tuple2((ab ++ ae), (ac + af))
177177 }
178178
179179 let ag = c
180180 let ah = size(ag)
181181 let ai = $Tuple2(nil, 0)
182182 func aj (ak,al) = if ((al >= ah))
183183 then ak
184184 else Y(ak, ag[al])
185185
186186 func am (ak,al) = if ((al >= ah))
187187 then ak
188188 else throw("List size exceeds 30")
189189
190190 am(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(ai, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
191191 }
192192
193193
194194 func an (t) = {
195195 func Y (Z,r) = {
196196 let ao = Z
197197 let ap = ao._1
198198 let ac = ao._2
199199 let aq = P(t, r)
200200 let T = aq._1
201201 let K = aq._2
202202 $Tuple2((ap ++ T), (ac + K))
203203 }
204204
205205 let ar = {
206206 let ag = c
207207 let ah = size(ag)
208208 let ai = $Tuple2(nil, 0)
209209 func aj (ak,al) = if ((al >= ah))
210210 then ak
211211 else Y(ak, ag[al])
212212
213213 func am (ak,al) = if ((al >= ah))
214214 then ak
215215 else throw("List size exceeds 30")
216216
217217 am(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(ai, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
218218 }
219219 let ap = ar._1
220220 let as = ar._2
221221 let at = valueOrElse(getInteger(this, w(t)), 0)
222222 let au = if ((as != 0))
223223 then [IntegerEntry(w(t), (at + as))]
224224 else nil
225225 $Tuple2((ap ++ au), as)
226226 }
227227
228228
229229 func av (t) = {
230230 let at = valueOrElse(getInteger(this, w(t)), 0)
231231 if ((at != 0))
232232 then $Tuple2([ScriptTransfer(addressFromStringValue(t), at, i), DeleteEntry(w(t))], at)
233233 else $Tuple2(nil, 0)
234234 }
235235
236236
237237 func aw (t) = {
238238 let ax = X(t)
239239 let ay = ax._1
240240 let K = ax._2
241241 let az = av(t)
242242 let aA = az._1
243243 let aB = az._2
244244 let aC = (K + aB)
245245 if ((aC > 0))
246246 then $Tuple2((ay ++ aA), aC)
247247 else e("nothing to claim")
248248 }
249249
250250
251251 func aD (t) = {
252252 func aE (aF,u) = {
253253 let aG = B(t, u)
254254 let y = aG._1
255255 let z = aG._2
256256 let A = aG._3
257257 if ((y > 0))
258258 then aF
259259 else if ((aF == -1))
260260 then u
261261 else min([aF, u])
262262 }
263263
264264 let aF = {
265265 let ag = c
266266 let ah = size(ag)
267267 let ai = -1
268268 func aj (ak,al) = if ((al >= ah))
269269 then ak
270270 else aE(ak, ag[al])
271271
272272 func am (ak,al) = if ((al >= ah))
273273 then ak
274274 else throw("List size exceeds 30")
275275
276276 am(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(aj(ai, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
277277 }
278278 if ((aF == -1))
279279 then e(makeString(["user exceeded max active vesting count: ", t], " "))
280280 else aF
281281 }
282282
283283
284284 func aH (t,u,y,z,A) = [StringEntry(s(t, u), x(y, z, A))]
285285
286286
287287 @Callable(aI)
288288 func vestingForUser (t,y,z,A) = {
289289 let aJ = [if ((size(aI.payments) == 1))
290290 then true
291291 else e("should be with exactly 1 payment"), if ((aI.payments[0].assetId == i))
292292 then true
293293 else e(makeString(["payment assetId should be: ", h], " ")), if ((aI.payments[0].amount == y))
294294 then true
295295 else e("payment amount should be equal to vestingAmount"), if (if ((l == nil))
296296 then true
297297 else containsElement(l, toString(aI.caller)))
298298 then true
299299 else e("you must be admin")]
300300 if ((aJ == aJ))
301301 then {
302302 let u = aD(t)
303303 let aK = [IntegerEntry(E("vested", t, toBase58String(aI.transactionId)), y)]
304304 (aH(t, u, y, z, A) ++ aK)
305305 }
306306 else throw("Strict value is not equal to itself.")
307307 }
308308
309309
310310
311311 @Callable(aI)
312312 func claimAll () = {
313313 let t = toString(aI.caller)
314314 let aL = aw(t)
315315 let ay = aL._1
316316 let aC = aL._2
317317 let aK = [IntegerEntry(E("claimed", t, toBase58String(aI.transactionId)), aC)]
318318 (ay ++ aK)
319319 }
320320
321321
322322
323323 @Callable(aI)
324324 func ban (t) = {
325325 let v = [if (if ((l == nil))
326326 then true
327327 else containsElement(l, toString(aI.caller)))
328328 then true
329329 else e("you must be admin"), if (!(containsElement(o, t)))
330330 then true
331331 else e(makeString(["user already in a ban list:", t], " "))]
332332 if ((v == v))
333333 then {
334334 let aM = an(t)
335335 let aN = aM._1
336336 let aO = aM._2
337337 let aP = [StringEntry(k, makeString_11C((o :+ t), "__"))]
338338 (aN ++ aP)
339339 }
340340 else throw("Strict value is not equal to itself.")
341341 }
342342
343343
344344
345345 @Callable(aI)
346346 func unban (t) = {
347347 let v = [if (if ((l == nil))
348348 then true
349349 else containsElement(l, toString(aI.caller)))
350350 then true
351351 else e("you must be admin"), if (containsElement(o, t))
352352 then true
353353 else e(makeString(["user not in a ban list:", t], " "))]
354354 if ((v == v))
355355 then {
356356 let aQ = {
357357 let m = indexOf(o, t)
358358 if ($isInstanceOf(m, "Int"))
359359 then {
360360 let aR = m
361361 removeByIndex(o, aR)
362362 }
363363 else e("user address index in ban list is not found")
364364 }
365- if ((aQ == [""]))
365+ if ((aQ == nil))
366366 then [DeleteEntry(k)]
367367 else [StringEntry(k, makeString_11C(aQ, "__"))]
368368 }
369369 else throw("Strict value is not equal to itself.")
370370 }
371371
372372

github/deemru/w8io/169f3d6 
109.38 ms