tx · 2BUFZ5bG6mm2niJab2vW5aAwZFaQ6kXqu1ighbBnCRWp 3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2: -0.01200000 Waves 2023.03.04 13:29 [2475193] smart account 3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2 > SELF 0.00000000 Waves
{ "type": 13, "id": "2BUFZ5bG6mm2niJab2vW5aAwZFaQ6kXqu1ighbBnCRWp", "fee": 1200000, "feeAssetId": null, "timestamp": 1677925729705, "version": 2, "chainId": 84, "sender": "3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2", "senderPublicKey": "EM2pooK6eEzhzFXZFGd2phMRus6f1M5GxBsawNk9oi37", "proofs": [ "4PpPsRqLcUswXAGfqa7nqjB95q7GMJcWsYkCNzGyDDidAbNDB3PjNipMKbyoNxusMGWtGnGg5ZwAVqnEdUFytwzK" ], "script": "base64:BgIbCAISBAoCCAESBAoCAQESBgoECAEBGBIDCgEBQwAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAdMSVNUU0VQAgE6AA1ERUZBVUxUUVVPUlVNAKDCHgAITUFYVElUTEUA+gEADU1BWFZPVElOR1RJTUUAgJDkwAQABU1VTFQ2AMCEPQAUREVGQVVMVEZJUlNUUFJPUE9TQUwAAQAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAASZ292SWR4UHJvcG9zYWxUeElkAAEAC2dvdklkeFRpdGxlAAIAEmdvdklkeENyZWF0aW9uVGltZQADAAtnb3ZJZHhTdGFydAAEAAlnb3ZJZHhFbmQABQAMZ292SWR4UXVvcnVtAAYADWdvdklkeE9wdGlvbnMABwATZ292U3RhdHVzSWR4SXNWYWxpZAABABJnb3ZTdGF0dXNJZHhXaW5PcHQAAgAUZ292U3RhdHVzSWR4V2luVm90ZXMAAwAWZ292U3RhdHVzSWR4VG90YWxWb3RlcwAEABZnb3ZTdGF0dXNJZHhJc0NhbmNlbGVkAAUBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAAQxnZXRJbnRPckVsc2UCA2tleQpkZWZhdWx0VmFsCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQUKZGVmYXVsdFZhbAARSWR4Q2ZnU3Rha2luZ0RhcHAAAQARSWR4Q2ZnRWNvbm9teURhcHAAAgAUSWR4Q2ZnR292ZXJuYW5jZURhcHAAAwEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAAPZWNvbm9teUNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnRWNvbm9teURhcHABGGtleVF1b3J1bVJlcXVpcmVkUGVyY2VudAACEiVzX19xdW9ydW1SZXF1aXJlZAERa2V5TGFzdFByb3Bvc2FsSWQAAg4lc19fcHJvcG9zYWxJZAESa2V5Rmlyc3RQcm9wb3NhbElkAAITJXNfX2ZpcnN0UHJvcG9zYWxJZAEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEKcHJvcG9zYWxJZAkArAICAholcyVkX19wcm9wb3NhbFN0YXR1c0RhdGFfXwkApAMBBQpwcm9wb3NhbElkARNrZXlQcm9wb3NhbERhdGFCeUlkAQpwcm9wb3NhbElkCQCsAgICFCVzJWRfX3Byb3Bvc2FsRGF0YV9fCQCkAwEFCnByb3Bvc2FsSWQBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgpwcm9wb3NhbElkA29wdAkAuQkCCQDMCAICBiVzJWQlZAkAzAgCAgp2b3Rlc0J5T3B0CQDMCAIJAKQDAQUKcHJvcG9zYWxJZAkAzAgCCQCkAwEFA29wdAUDbmlsBQNTRVABG2tleVByb3Bvc2FsVm90ZXNCeUlkQW5kVXNlcgIKcHJvcG9zYWxJZAh1c2VyQWRkcgkAuQkCCQDMCAICBiVzJWQlcwkAzAgCAgt2b3Rlc0J5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQARxrZXlQcm9wb3NhbENob2ljZUJ5SWRBbmRVc2VyAgpwcm9wb3NhbElkCHVzZXJBZGRyCQC5CQIJAMwIAgIGJXMlZCVzCQDMCAICDG9wdGlvbkJ5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQARdrZXlVc2VyR25zYnRSZWxlYXNlVGltZQEIdXNlckFkZHIJAKwCAgIbJXMlc191c2VyR25zYnRSZWxlYXNlVGltZV9fBQh1c2VyQWRkcgEea2V5TnVtVW5pcXVlVm90ZXJzQnlQcm9wb3NhbElkAQpwcm9wb3NhbElkCQCsAgICESVzJWRfX251bVZvdGVyc19fCQCkAwEFCnByb3Bvc2FsSWQBGGtleVN0YXRzQXZlclVuaXF1ZVZvdGVycwACICVzJXMlc19fc3RhdHNfX2F2Z19fdW5pcXVlVm90ZXJzARZrZXlTdGF0c0F2ZXJHbnNidFZvdGVkAAIeJXMlcyVzX19zdGF0c19fYXZnX19nbnNidFZvdGVkARFrZXlSZXNQcm9wb3J0aW9ucwACE3Jlc1R5cGVzUHJvcG9ydGlvbnMBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEJYXNBbnlMaXN0AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQBbAUHJG1hdGNoMAUBbAkAAgECG2ZhaWwgdG8gY2FzdCBpbnRvIExpc3RbQW55XQEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwBQFpCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQpzdGF0dXNEYXRhBQ1pc1ZvdGluZ1ZhbGlkCXdpbk9wdGlvbg53aW5PcHRpb25Wb3Rlcwp0b3RhbFZvdGVzDmNhbmNlbGVkQnlUZWFtCQC5CQIJAMwIAgIKJWIlZCVkJWQlYgkAzAgCCQClAwEFDWlzVm90aW5nVmFsaWQJAMwIAgkApAMBBQl3aW5PcHRpb24JAMwIAgkApAMBBQ53aW5PcHRpb25Wb3RlcwkAzAgCCQCkAwEFCnRvdGFsVm90ZXMJAMwIAgkApQMBBQ5jYW5jZWxlZEJ5VGVhbQUDbmlsBQNTRVABDHByb3Bvc2FsRGF0YQcMcHJvcG9zYWxUeElkBXRpdGxlDHByb3Bvc2FsVGltZQ92b3RpbmdTdGFydFRpbWUNdm90aW5nRW5kVGltZQ1xdW9ydW1Jbkduc2J0B29wdGlvbnMJALkJAgkAzAgCAg4lcyVzJWQlZCVkJWQlcwkAzAgCBQxwcm9wb3NhbFR4SWQJAMwIAgUFdGl0bGUJAMwIAgkApAMBBQxwcm9wb3NhbFRpbWUJAMwIAgkApAMBBQ92b3RpbmdTdGFydFRpbWUJAMwIAgkApAMBBQ12b3RpbmdFbmRUaW1lCQDMCAIJAKQDAQUNcXVvcnVtSW5HbnNidAkAzAgCBQdvcHRpb25zBQNuaWwFA1NFUAALSWR4RWZmVG90YWwAAAAKSWR4RWZmVXNlcgABAApyZWNMYW5kTnVtAAAAC3JlY0xhbmRTaXplAAEAC3JlY1RlcnJhaW5zAAIADHJlY0NvbnRpbmVudAADAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIDCQAAAgUSdXNlckFkZHJTdHJPckVtcHR5AgAAAAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5BAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAVhc3NldAkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAhsYW5kU2l6ZQkAkQMCCQC1CQIIBQVhc3NldAtkZXNjcmlwdGlvbgIBXwULcmVjTGFuZFNpemUJAGQCBQNhY2MJAQ9udW1QaWVjZXNCeVNpemUBBQhsYW5kU2l6ZQoAAiRsBQVsYW5kcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHb25lTGFuZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwBDWNhbGNXaW5PcHRpb24HCnByb3Bvc2FsSWQLb3B0aW9uc0xpc3QOaXNQcmV2T3B0aW9uYWwJb2xkQ2hvaWNlEG9wdGlvbmFsVG90YWxPbGQJbmV3Q2hvaWNlE25ld1RvdGFsQnlOZXdDaG9pY2UKAQhmaW5kQmVzdAIDYWNjBGVsZW0EA2lkeAkBBXZhbHVlAQkAzwgCBQtvcHRpb25zTGlzdAUEZWxlbQQDdmFsAwUOaXNQcmV2T3B0aW9uYWwDCQAAAgUDaWR4BQluZXdDaG9pY2UFE25ld1RvdGFsQnlOZXdDaG9pY2UJAQxnZXRJbnRPckVsc2UCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQNpZHgAAAMJAAACBQNpZHgJAQV2YWx1ZQEFCW9sZENob2ljZQUQb3B0aW9uYWxUb3RhbE9sZAMJAAACBQNpZHgFCW5ld0Nob2ljZQUTbmV3VG90YWxCeU5ld0Nob2ljZQkBDGdldEludE9yRWxzZQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQFA2lkeAAAAwkAZgIIBQNhY2MCXzIFA3ZhbAUDYWNjCQCUCgIFA2lkeAUDdmFsCgACJGwFC29wdGlvbnNMaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCAAAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIZmluZEJlc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoBEHVwZGF0ZVN0YXR1c0RhdGEEDWlzQ2FuY2VsZWRTdHIHaXNWYWxpZAluZXdXaW5PcHQNbmV3VG90YWxWb3RlcwkAuQkCCQDMCAICCiViJWQlZCVkJWIJAMwIAgkApQMBBQdpc1ZhbGlkCQDMCAIJAKQDAQgFCW5ld1dpbk9wdAJfMQkAzAgCCQCkAwEIBQluZXdXaW5PcHQCXzIJAMwIAgkApAMBBQ1uZXdUb3RhbFZvdGVzCQDMCAIFDWlzQ2FuY2VsZWRTdHIFA25pbAUDU0VQBAFpAQ1jb25zdHJ1Y3RvclYxAghyZXN0QWRkcg1xdW9ydW1SZXFQZXJjAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlRdW9ydW1SZXF1aXJlZFBlcmNlbnQABQ1xdW9ydW1SZXFQZXJjBQNuaWwBaQEIY2FzdFZvdGUCCnByb3Bvc2FsSWQGY2hvaWNlBA51c2VyQWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEC2R5bmFtaWNEYXRhCQC1CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQFA1NFUAMJAAACCQCRAwIFC2R5bmFtaWNEYXRhBRZnb3ZTdGF0dXNJZHhJc0NhbmNlbGVkAgR0cnVlCQACAQIaVm90aW5nIGlzIGNhbmNlbGVkIGJ5IHRlYW0ECHByb3BEYXRhCQC1CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQETa2V5UHJvcG9zYWxEYXRhQnlJZAEFCnByb3Bvc2FsSWQFA1NFUAQFc3RhcnQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhwcm9wRGF0YQULZ292SWR4U3RhcnQEA2VuZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHByb3BEYXRhBQlnb3ZJZHhFbmQEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXADCQBmAgUFc3RhcnQFA25vdwkAAgECFlZvdGluZyBub3Qgc3RhcnRlZCB5ZXQDCQBnAgUDbm93BQNlbmQJAAIBAhdWb3RpbmcgYWxyZWFkeSBmaW5pc2hlZAQQYXZhaWxhYmxlT3B0aW9ucwkAtQkCCQCRAwIFCHByb3BEYXRhBQ1nb3ZJZHhPcHRpb25zBQdMSVNUU0VQBApudW1PcHRpb25zCQCQAwEFEGF2YWlsYWJsZU9wdGlvbnMDCQBnAgABBQpudW1PcHRpb25zCQACAQIXVG9vIGZldyBjaG9pY2VzIHRvIHZvdGUDCQBnAgUGY2hvaWNlBQpudW1PcHRpb25zCQACAQkArAICAhtVbmtub3duIGNob2ljZSEgTXVzdCBiZSAwLi4JAKQDAQkAZQIFCm51bU9wdGlvbnMAAQQDZWZmCQEOZ2V0Vm90aW5nUG93ZXIBBQ51c2VyQWRkcmVzc1N0cgQIZ25zYnRBbXQJAJEDAgUDZWZmBQpJZHhFZmZVc2VyAwkAZwIAAAUIZ25zYnRBbXQJAAIBAh1Zb3UgbmVlZCBzdGFrZWQgbGFuZHMgdG8gdm90ZQQKZ25zYnRUb3RhbAkAkQMCBQNlZmYFC0lkeEVmZlRvdGFsBAlvbGRDaG9pY2UJAJ8IAQkBHGtleVByb3Bvc2FsQ2hvaWNlQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgQMb2xkVXNlclZvdGVzAwkBASEBCQEJaXNEZWZpbmVkAQUJb2xkQ2hvaWNlAAAJAQxnZXRJbnRPckVsc2UCCQEba2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRVc2VyAgUKcHJvcG9zYWxJZAUOdXNlckFkZHJlc3NTdHIAAAQTb2xkVG90YWxCeU9sZENob2ljZQMJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UJAQxnZXRJbnRPckVsc2UCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkCQEFdmFsdWUBBQlvbGRDaG9pY2UAAAAABBNvbGRUb3RhbEJ5TmV3Q2hvaWNlCQEMZ2V0SW50T3JFbHNlAgkBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgUKcHJvcG9zYWxJZAUGY2hvaWNlAAAECG9sZFRvdGFsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeFRvdGFsVm90ZXMEE25ld1RvdGFsQnlPbGRDaG9pY2UDCQEBIQEJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UAAAkAZAIJAGUCBRNvbGRUb3RhbEJ5T2xkQ2hvaWNlBQxvbGRVc2VyVm90ZXMDCQAAAgkBBXZhbHVlAQUJb2xkQ2hvaWNlBQZjaG9pY2UFCGduc2J0QW10AAAEE25ld1RvdGFsQnlOZXdDaG9pY2UDAwkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQkAAAIJAQV2YWx1ZQEFCW9sZENob2ljZQUGY2hvaWNlBwUTbmV3VG90YWxCeU9sZENob2ljZQkAZAIFE29sZFRvdGFsQnlOZXdDaG9pY2UFCGduc2J0QW10BAhuZXdUb3RhbAkAZAIJAGUCBQhvbGRUb3RhbAUMb2xkVXNlclZvdGVzBQhnbnNidEFtdAQPaXNRdW9ydW1SZWFjaGVkCQBnAgUIbmV3VG90YWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhwcm9wRGF0YQUMZ292SWR4UXVvcnVtBBVudW1Wb3RlcnNCeVByb3Bvc2FsSWQJAQxnZXRJbnRPckVsc2UCCQEea2V5TnVtVW5pcXVlVm90ZXJzQnlQcm9wb3NhbElkAQUKcHJvcG9zYWxJZAAABBRvbGRBdmVyVW5pcXVlVm90ZXJzNgkBDGdldEludE9yRWxzZQIJARhrZXlTdGF0c0F2ZXJVbmlxdWVWb3RlcnMAAAAEDG51bVByb3Bvc2FscwkAZAIJAGUCCQERQGV4dHJOYXRpdmUoMTA1NSkBCQERa2V5TGFzdFByb3Bvc2FsSWQACQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlGaXJzdFByb3Bvc2FsSWQABRRERUZBVUxURklSU1RQUk9QT1NBTAABBAp1bmlxdWVEaWZmAwkAAAIFDG9sZFVzZXJWb3RlcwAAAAEAAAQUbmV3QXZlclVuaXF1ZVZvdGVyczYJAGQCBRRvbGRBdmVyVW5pcXVlVm90ZXJzNgkAawMFCnVuaXF1ZURpZmYFBU1VTFQ2BQxudW1Qcm9wb3NhbHMEDG9sZEF2ZXJHbnNidAkBDGdldEludE9yRWxzZQIJARZrZXlTdGF0c0F2ZXJHbnNidFZvdGVkAAAABAxuZXdBdmVyR25zYnQJAGQCBQxvbGRBdmVyR25zYnQJAGkCCQBlAgUIZ25zYnRBbXQFDG9sZFVzZXJWb3RlcwUMbnVtUHJvcG9zYWxzBA5pc1ByZXZPcHRpb25hbAMJAQEhAQkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQYJAAACCQEFdmFsdWUBBQlvbGRDaG9pY2UFBmNob2ljZQQQb3B0aW9uYWxUb3RhbE9sZAMFDmlzUHJldk9wdGlvbmFsBQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQJAQV2YWx1ZQEFCW9sZENob2ljZQUTbmV3VG90YWxCeU9sZENob2ljZQUDbmlsBAZ3aW5PcHQJAQ1jYWxjV2luT3B0aW9uBwUKcHJvcG9zYWxJZAUQYXZhaWxhYmxlT3B0aW9ucwUOaXNQcmV2T3B0aW9uYWwFCW9sZENob2ljZQUTbmV3VG90YWxCeU9sZENob2ljZQUGY2hvaWNlBRNuZXdUb3RhbEJ5TmV3Q2hvaWNlBAtyZWxlYXNlVGltZQkAlgMBCQDMCAIFA2VuZAkAzAgCCQEMZ2V0SW50T3JFbHNlAgkBF2tleVVzZXJHbnNidFJlbGVhc2VUaW1lAQUOdXNlckFkZHJlc3NTdHIAAAUDbmlsCQCUCgIJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBHGtleVByb3Bvc2FsQ2hvaWNlQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgUGY2hvaWNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEba2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRVc2VyAgUKcHJvcG9zYWxJZAUOdXNlckFkZHJlc3NTdHIFCGduc2J0QW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQZjaG9pY2UFE25ld1RvdGFsQnlOZXdDaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBBQpwcm9wb3NhbElkCQBkAgUVbnVtVm90ZXJzQnlQcm9wb3NhbElkBQp1bmlxdWVEaWZmCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEXa2V5VXNlckduc2J0UmVsZWFzZVRpbWUBBQ51c2VyQWRkcmVzc1N0cgULcmVsZWFzZVRpbWUJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlTdGF0c0F2ZXJVbmlxdWVWb3RlcnMABRRuZXdBdmVyVW5pcXVlVm90ZXJzNgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleVN0YXRzQXZlckduc2J0Vm90ZWQABQxuZXdBdmVyR25zYnQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleVByb3Bvc2FsU3RhdHVzRGF0YUJ5SWQBBQpwcm9wb3NhbElkCQEQdXBkYXRlU3RhdHVzRGF0YQQJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeElzQ2FuY2VsZWQFD2lzUXVvcnVtUmVhY2hlZAUGd2luT3B0BQhuZXdUb3RhbAUDbmlsBRBvcHRpb25hbFRvdGFsT2xkBQR1bml0AWkBDmluaXRpYXRlVm90aW5nBAV0aXRsZQ92b3RpbmdTdGFydFRpbWUNdm90aW5nRW5kVGltZQtvcHRpb25zTGlzdAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQInZ292ZXJuYW5jZSBkb2Vzbid0IHJlcXVpcmUgYW55IHBheW1lbnRzBAxwcm9wb3NhbFR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAACBQV0aXRsZQIACQACAQIOVGl0bGUgaXMgZW1wdHkDCQBmAgkAsQIBBQV0aXRsZQUITUFYVElUTEUJAAIBAg5Ub28gbG9uZyB0aXRsZQQMcHJvcG9zYWxUaW1lCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQkAAgEJAKwCAgkArAICCQCsAgICEHZvdGluZ1N0YXJ0VGltZT0JAKQDAQUPdm90aW5nU3RhcnRUaW1lAhAgPCBwcm9wb3NhbFRpbWU9CQCkAwEFDHByb3Bvc2FsVGltZQMJAGYCBQ92b3RpbmdTdGFydFRpbWUFDXZvdGluZ0VuZFRpbWUJAAIBCQCsAgIJAKwCAgkArAICAg52b3RpbmdFbmRUaW1lPQkApAMBBQ12b3RpbmdFbmRUaW1lAhMgPCB2b3RpbmdTdGFydFRpbWU9CQCkAwEFD3ZvdGluZ1N0YXJ0VGltZQMJAGYCCQBlAgUNdm90aW5nRW5kVGltZQUPdm90aW5nU3RhcnRUaW1lBQ1NQVhWT1RJTkdUSU1FCQACAQkArAICCQCsAgIJAKwCAgIbVm90aW5nIHBlcmlvZCBleGNlZWRzIG1heDogCQCkAwEJAGUCBQ12b3RpbmdFbmRUaW1lBQ92b3RpbmdTdGFydFRpbWUCAyA+IAkApAMBBQ1NQVhWT1RJTkdUSU1FAwkAZwIAAQkAkAMBBQtvcHRpb25zTGlzdAkAAgECF1RvbyBmZXcgY2hvaWNlcyB0byB2b3RlBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgECAAQMZ1BpZWNlc1RvdGFsCQCRAwIFA2VmZgULSWR4RWZmVG90YWwEBnF1b3J1bQkBDGdldEludE9yRWxzZQIJARhrZXlRdW9ydW1SZXF1aXJlZFBlcmNlbnQABQ1ERUZBVUxUUVVPUlVNBA9xdW9ydW1JbkdwaWVjZXMJAGsDBQZxdW9ydW0FDGdQaWVjZXNUb3RhbAUFTVVMVDYECnByb3Bvc2FsSWQJAGQCCQEMZ2V0SW50T3JFbHNlAgkBEWtleUxhc3RQcm9wb3NhbElkAAAAAAEECm9wdGlvbnNTdHIJALkJAgULb3B0aW9uc0xpc3QFB0xJU1RTRVAJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEWtleUxhc3RQcm9wb3NhbElkAAUKcHJvcG9zYWxJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQJAQpzdGF0dXNEYXRhBQcAAAAAAAAHCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlQcm9wb3NhbERhdGFCeUlkAQUKcHJvcG9zYWxJZAkBDHByb3Bvc2FsRGF0YQcFDHByb3Bvc2FsVHhJZAkA3AQBCQCbAwEFBXRpdGxlBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQUNdm90aW5nRW5kVGltZQUPcXVvcnVtSW5HcGllY2VzBQpvcHRpb25zU3RyBQNuaWwFDHByb3Bvc2FsVHhJZAFpAQxjYW5jZWxWb3RpbmcBCnByb3Bvc2FsSWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg5ub3QgYXV0aG9yaXplZAQLY3VycmVudERhdGEJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQEC3VwZGF0ZWREYXRhCQCsAgIJAKwCAgkArwICBQtjdXJyZW50RGF0YQkBBXZhbHVlAQkAtwkCBQtjdXJyZW50RGF0YQUDU0VQBQNTRVACBHRydWUJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQFC3VwZGF0ZWREYXRhBQNuaWwFBHVuaXQAo22Rew==", "height": 2475193, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 34mxfFBXUk4ektGhk6zfLH6KJg9aZYMEXHFB7xfQvyCW Next: 8ykT6FpiDs38mu1Mxu2uv9LmdXb4gR3ieDzx9Nywew8r Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = | |
4 | + | let a = take(drop(this.bytes, 1), 1) | |
5 | 5 | ||
6 | - | let b = base58'HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ' | |
6 | + | let b = { | |
7 | + | let c = a | |
8 | + | if ((base58'2W' == c)) | |
9 | + | then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv" | |
10 | + | else if ((base58'2T' == c)) | |
11 | + | then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy" | |
12 | + | else throw("Unknown chain") | |
13 | + | } | |
7 | 14 | ||
8 | - | @Callable(c) | |
9 | - | func indirectSwapXtn () = { | |
10 | - | let d = invoke(a, "swapNeutrinoToBasket", nil, [AttachedPayment(b, 50000000)]) | |
11 | - | if ((d == d)) | |
12 | - | then nil | |
13 | - | else throw("Strict value is not equal to itself.") | |
15 | + | let d = "__" | |
16 | + | ||
17 | + | let e = ":" | |
18 | + | ||
19 | + | let f = 500000 | |
20 | + | ||
21 | + | let g = 250 | |
22 | + | ||
23 | + | let h = 1209600000 | |
24 | + | ||
25 | + | let i = 1000000 | |
26 | + | ||
27 | + | let j = 1 | |
28 | + | ||
29 | + | let k = 25 | |
30 | + | ||
31 | + | let l = 100 | |
32 | + | ||
33 | + | let m = 225 | |
34 | + | ||
35 | + | let n = 400 | |
36 | + | ||
37 | + | let o = 625 | |
38 | + | ||
39 | + | let p = 1 | |
40 | + | ||
41 | + | let q = 2 | |
42 | + | ||
43 | + | let r = 3 | |
44 | + | ||
45 | + | let s = 4 | |
46 | + | ||
47 | + | let t = 5 | |
48 | + | ||
49 | + | let u = 6 | |
50 | + | ||
51 | + | let v = 7 | |
52 | + | ||
53 | + | let w = 1 | |
54 | + | ||
55 | + | let x = 2 | |
56 | + | ||
57 | + | let y = 3 | |
58 | + | ||
59 | + | let z = 4 | |
60 | + | ||
61 | + | let A = 5 | |
62 | + | ||
63 | + | func B (C,D) = valueOrErrorMessage(getString(C, D), makeString(["mandatory ", toString(C), ".", D, " is not defined"], "")) | |
64 | + | ||
65 | + | ||
66 | + | func E (D,F) = valueOrElse(getInteger(this, D), F) | |
67 | + | ||
68 | + | ||
69 | + | let G = 1 | |
70 | + | ||
71 | + | let H = 2 | |
72 | + | ||
73 | + | let I = 3 | |
74 | + | ||
75 | + | func J () = "%s__restConfig" | |
76 | + | ||
77 | + | ||
78 | + | func K () = "%s__restAddr" | |
79 | + | ||
80 | + | ||
81 | + | func L (M) = split_4C(B(M, J()), d) | |
82 | + | ||
83 | + | ||
84 | + | func N (O,P) = valueOrErrorMessage(addressFromString(O[P]), ("Rest cfg doesn't contain address at index " + toString(P))) | |
85 | + | ||
86 | + | ||
87 | + | let Q = addressFromStringValue(valueOrElse(getString(this, K()), b)) | |
88 | + | ||
89 | + | let O = L(Q) | |
90 | + | ||
91 | + | let R = N(O, G) | |
92 | + | ||
93 | + | let S = N(O, H) | |
94 | + | ||
95 | + | func T () = "%s__quorumRequired" | |
96 | + | ||
97 | + | ||
98 | + | func U () = "%s__proposalId" | |
99 | + | ||
100 | + | ||
101 | + | func V () = "%s__firstProposalId" | |
102 | + | ||
103 | + | ||
104 | + | func W (X) = ("%s%d__proposalStatusData__" + toString(X)) | |
105 | + | ||
106 | + | ||
107 | + | func Y (X) = ("%s%d__proposalData__" + toString(X)) | |
108 | + | ||
109 | + | ||
110 | + | func Z (X,aa) = makeString(["%s%d%d", "votesByOpt", toString(X), toString(aa)], d) | |
111 | + | ||
112 | + | ||
113 | + | func ab (X,ac) = makeString(["%s%d%s", "votesByUser", toString(X), ac], d) | |
114 | + | ||
115 | + | ||
116 | + | func ad (X,ac) = makeString(["%s%d%s", "optionByUser", toString(X), ac], d) | |
117 | + | ||
118 | + | ||
119 | + | func ae (ac) = ("%s%s_userGnsbtReleaseTime__" + ac) | |
120 | + | ||
121 | + | ||
122 | + | func af (X) = ("%s%d__numVoters__" + toString(X)) | |
123 | + | ||
124 | + | ||
125 | + | func ag () = "%s%s%s__stats__avg__uniqueVoters" | |
126 | + | ||
127 | + | ||
128 | + | func ah () = "%s%s%s__stats__avg__gnsbtVoted" | |
129 | + | ||
130 | + | ||
131 | + | func ai () = "resTypesProportions" | |
132 | + | ||
133 | + | ||
134 | + | func aj (ak) = ("stakedLandsByOwner_" + ak) | |
135 | + | ||
136 | + | ||
137 | + | func al (am) = { | |
138 | + | let c = am | |
139 | + | if ($isInstanceOf(c, "List[Any]")) | |
140 | + | then { | |
141 | + | let an = c | |
142 | + | an | |
143 | + | } | |
144 | + | else throw("fail to cast into List[Any]") | |
145 | + | } | |
146 | + | ||
147 | + | ||
148 | + | func ao (am) = { | |
149 | + | let c = am | |
150 | + | if ($isInstanceOf(c, "Int")) | |
151 | + | then { | |
152 | + | let ap = c | |
153 | + | ap | |
154 | + | } | |
155 | + | else throw("fail to cast into Int") | |
156 | + | } | |
157 | + | ||
158 | + | ||
159 | + | func aq (ar,as,at,au,av) = makeString(["%b%d%d%d%b", toString(ar), toString(as), toString(at), toString(au), toString(av)], d) | |
160 | + | ||
161 | + | ||
162 | + | func aw (ax,ay,az,aA,aB,aC,aD) = makeString(["%s%s%d%d%d%d%s", ax, ay, toString(az), toString(aA), toString(aB), toString(aC), aD], d) | |
163 | + | ||
164 | + | ||
165 | + | let aE = 0 | |
166 | + | ||
167 | + | let aF = 1 | |
168 | + | ||
169 | + | let aG = 0 | |
170 | + | ||
171 | + | let aH = 1 | |
172 | + | ||
173 | + | let aI = 2 | |
174 | + | ||
175 | + | let aJ = 3 | |
176 | + | ||
177 | + | func aK (aL) = { | |
178 | + | let c = aL | |
179 | + | if (("S" == c)) | |
180 | + | then k | |
181 | + | else if (("M" == c)) | |
182 | + | then l | |
183 | + | else if (("L" == c)) | |
184 | + | then m | |
185 | + | else if (("XL" == c)) | |
186 | + | then n | |
187 | + | else if (("XXL" == c)) | |
188 | + | then o | |
189 | + | else throw("Unknown land size") | |
190 | + | } | |
191 | + | ||
192 | + | ||
193 | + | func aM (aN) = { | |
194 | + | let aO = split(valueOrElse(getString(R, ai()), "0_0_0_0_0_0"), "_") | |
195 | + | func aP (aQ,aR) = (aQ + parseIntValue(aR)) | |
196 | + | ||
197 | + | let aS = { | |
198 | + | let aT = aO | |
199 | + | let aU = size(aT) | |
200 | + | let aV = 0 | |
201 | + | func aW (aX,aY) = if ((aY >= aU)) | |
202 | + | then aX | |
203 | + | else aP(aX, aT[aY]) | |
204 | + | ||
205 | + | func aZ (aX,aY) = if ((aY >= aU)) | |
206 | + | then aX | |
207 | + | else throw("List size exceeds 6") | |
208 | + | ||
209 | + | aZ(aW(aW(aW(aW(aW(aW(aV, 0), 1), 2), 3), 4), 5), 6) | |
210 | + | } | |
211 | + | let ba = if ((aN == "")) | |
212 | + | then 0 | |
213 | + | else { | |
214 | + | let bb = getString(R, aj(aN)) | |
215 | + | let bc = if (isDefined(bb)) | |
216 | + | then split_51C(value(bb), "_") | |
217 | + | else nil | |
218 | + | func bd (aQ,be) = { | |
219 | + | let bf = value(assetInfo(fromBase58String(be))) | |
220 | + | let aL = split(bf.description, "_")[aH] | |
221 | + | (aQ + aK(aL)) | |
222 | + | } | |
223 | + | ||
224 | + | let aT = bc | |
225 | + | let aU = size(aT) | |
226 | + | let aV = 0 | |
227 | + | func bg (aX,aY) = if ((aY >= aU)) | |
228 | + | then aX | |
229 | + | else bd(aX, aT[aY]) | |
230 | + | ||
231 | + | func bh (aX,aY) = if ((aY >= aU)) | |
232 | + | then aX | |
233 | + | else throw("List size exceeds 100") | |
234 | + | ||
235 | + | bh(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(bg(aV, 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), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
236 | + | } | |
237 | + | [aS, ba] | |
238 | + | } | |
239 | + | ||
240 | + | ||
241 | + | func bi (X,bj,bk,bl,bm,bn,bo) = { | |
242 | + | func bp (aQ,bq) = { | |
243 | + | let P = value(indexOf(bj, bq)) | |
244 | + | let br = if (bk) | |
245 | + | then if ((P == bn)) | |
246 | + | then bo | |
247 | + | else E(Z(X, P), 0) | |
248 | + | else if ((P == value(bl))) | |
249 | + | then bm | |
250 | + | else if ((P == bn)) | |
251 | + | then bo | |
252 | + | else E(Z(X, P), 0) | |
253 | + | if ((aQ._2 > br)) | |
254 | + | then aQ | |
255 | + | else $Tuple2(P, br) | |
256 | + | } | |
257 | + | ||
258 | + | let aT = bj | |
259 | + | let aU = size(aT) | |
260 | + | let aV = $Tuple2(0, 0) | |
261 | + | func aW (aX,aY) = if ((aY >= aU)) | |
262 | + | then aX | |
263 | + | else bp(aX, aT[aY]) | |
264 | + | ||
265 | + | func aZ (aX,aY) = if ((aY >= aU)) | |
266 | + | then aX | |
267 | + | else throw("List size exceeds 10") | |
268 | + | ||
269 | + | aZ(aW(aW(aW(aW(aW(aW(aW(aW(aW(aW(aV, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
270 | + | } | |
271 | + | ||
272 | + | ||
273 | + | func bs (bt,bu,bv,bw) = makeString(["%b%d%d%d%b", toString(bu), toString(bv._1), toString(bv._2), toString(bw), bt], d) | |
274 | + | ||
275 | + | ||
276 | + | @Callable(ap) | |
277 | + | func constructorV1 (bx,by) = if ((ap.caller != this)) | |
278 | + | then throw("Permission denied") | |
279 | + | else [StringEntry(K(), bx), IntegerEntry(T(), by)] | |
280 | + | ||
281 | + | ||
282 | + | ||
283 | + | @Callable(ap) | |
284 | + | func castVote (X,bz) = { | |
285 | + | let bA = toString(ap.caller) | |
286 | + | let bB = split(B(this, W(X)), d) | |
287 | + | if ((bB[A] == "true")) | |
288 | + | then throw("Voting is canceled by team") | |
289 | + | else { | |
290 | + | let bC = split(B(this, Y(X)), d) | |
291 | + | let bD = parseIntValue(bC[s]) | |
292 | + | let bE = parseIntValue(bC[t]) | |
293 | + | let bF = lastBlock.timestamp | |
294 | + | if ((bD > bF)) | |
295 | + | then throw("Voting not started yet") | |
296 | + | else if ((bF >= bE)) | |
297 | + | then throw("Voting already finished") | |
298 | + | else { | |
299 | + | let bG = split(bC[v], e) | |
300 | + | let bH = size(bG) | |
301 | + | if ((1 >= bH)) | |
302 | + | then throw("Too few choices to vote") | |
303 | + | else if ((bz >= bH)) | |
304 | + | then throw(("Unknown choice! Must be 0.." + toString((bH - 1)))) | |
305 | + | else { | |
306 | + | let bI = aM(bA) | |
307 | + | let bJ = bI[aF] | |
308 | + | if ((0 >= bJ)) | |
309 | + | then throw("You need staked lands to vote") | |
310 | + | else { | |
311 | + | let bK = bI[aE] | |
312 | + | let bl = getInteger(ad(X, bA)) | |
313 | + | let bL = if (!(isDefined(bl))) | |
314 | + | then 0 | |
315 | + | else E(ab(X, bA), 0) | |
316 | + | let bM = if (isDefined(bl)) | |
317 | + | then E(Z(X, value(bl)), 0) | |
318 | + | else 0 | |
319 | + | let bN = E(Z(X, bz), 0) | |
320 | + | let bO = parseIntValue(bB[z]) | |
321 | + | let bP = if (!(isDefined(bl))) | |
322 | + | then 0 | |
323 | + | else ((bM - bL) + (if ((value(bl) == bz)) | |
324 | + | then bJ | |
325 | + | else 0)) | |
326 | + | let bo = if (if (isDefined(bl)) | |
327 | + | then (value(bl) == bz) | |
328 | + | else false) | |
329 | + | then bP | |
330 | + | else (bN + bJ) | |
331 | + | let bQ = ((bO - bL) + bJ) | |
332 | + | let bR = (bQ >= parseIntValue(bC[u])) | |
333 | + | let bS = E(af(X), 0) | |
334 | + | let bT = E(ag(), 0) | |
335 | + | let bU = ((getIntegerValue(U()) - valueOrElse(getInteger(V()), j)) + 1) | |
336 | + | let bV = if ((bL == 0)) | |
337 | + | then 1 | |
338 | + | else 0 | |
339 | + | let bW = (bT + fraction(bV, i, bU)) | |
340 | + | let bX = E(ah(), 0) | |
341 | + | let bY = (bX + ((bJ - bL) / bU)) | |
342 | + | let bk = if (!(isDefined(bl))) | |
343 | + | then true | |
344 | + | else (value(bl) == bz) | |
345 | + | let bm = if (bk) | |
346 | + | then nil | |
347 | + | else [IntegerEntry(Z(X, value(bl)), bP)] | |
348 | + | let bZ = bi(X, bG, bk, bl, bP, bz, bo) | |
349 | + | let ca = max([bE, E(ae(bA), 0)]) | |
350 | + | $Tuple2(([IntegerEntry(ad(X, bA), bz), IntegerEntry(ab(X, bA), bJ), IntegerEntry(Z(X, bz), bo), IntegerEntry(af(X), (bS + bV)), IntegerEntry(ae(bA), ca), IntegerEntry(ag(), bW), IntegerEntry(ah(), bY), StringEntry(W(X), bs(bB[A], bR, bZ, bQ))] ++ bm), unit) | |
351 | + | } | |
352 | + | } | |
353 | + | } | |
354 | + | } | |
14 | 355 | } | |
15 | 356 | ||
16 | 357 | ||
17 | 358 | ||
18 | - | @Callable(c) | |
19 | - | func indirectSwapWaves () = { | |
20 | - | let d = invoke(a, "swapTokenToNeutrino", nil, [AttachedPayment(unit, 100000000)]) | |
21 | - | if ((d == d)) | |
22 | - | then nil | |
23 | - | else throw("Strict value is not equal to itself.") | |
24 | - | } | |
359 | + | @Callable(ap) | |
360 | + | func initiateVoting (ay,aA,aB,bj) = if ((ap.caller != this)) | |
361 | + | then throw("Permission denied") | |
362 | + | else if ((size(ap.payments) != 0)) | |
363 | + | then throw("governance doesn't require any payments") | |
364 | + | else { | |
365 | + | let ax = toBase58String(ap.transactionId) | |
366 | + | if ((ay == "")) | |
367 | + | then throw("Title is empty") | |
368 | + | else if ((size(ay) > g)) | |
369 | + | then throw("Too long title") | |
370 | + | else { | |
371 | + | let az = lastBlock.timestamp | |
372 | + | if ((az > aA)) | |
373 | + | then throw(((("votingStartTime=" + toString(aA)) + " < proposalTime=") + toString(az))) | |
374 | + | else if ((aA > aB)) | |
375 | + | then throw(((("votingEndTime=" + toString(aB)) + " < votingStartTime=") + toString(aA))) | |
376 | + | else if (((aB - aA) > h)) | |
377 | + | then throw(((("Voting period exceeds max: " + toString((aB - aA))) + " > ") + toString(h))) | |
378 | + | else if ((1 >= size(bj))) | |
379 | + | then throw("Too few choices to vote") | |
380 | + | else { | |
381 | + | let bI = aM("") | |
382 | + | let cb = bI[aE] | |
383 | + | let cc = E(T(), f) | |
384 | + | let cd = fraction(cc, cb, i) | |
385 | + | let X = (E(U(), 0) + 1) | |
386 | + | let ce = makeString(bj, e) | |
387 | + | $Tuple2([IntegerEntry(U(), X), StringEntry(W(X), aq(false, 0, 0, 0, false)), StringEntry(Y(X), aw(ax, toBase16String(toBytes(ay)), az, aA, aB, cd, ce))], ax) | |
388 | + | } | |
389 | + | } | |
390 | + | } | |
391 | + | ||
392 | + | ||
393 | + | ||
394 | + | @Callable(ap) | |
395 | + | func cancelVoting (X) = if ((ap.caller != this)) | |
396 | + | then throw("not authorized") | |
397 | + | else { | |
398 | + | let cf = B(this, W(X)) | |
399 | + | let cg = ((take(cf, value(lastIndexOf(cf, d))) + d) + "true") | |
400 | + | $Tuple2([StringEntry(W(X), cg)], unit) | |
401 | + | } | |
25 | 402 | ||
26 | 403 |
github/deemru/w8io/026f985 36.37 ms ◑