tx · 7D25JRQWLTTnH8LN1AcJn6HcDP8YGHw74ukhB5qSnzQP

3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2:  -0.01200000 Waves

2023.06.05 16:31 [2609437] smart account 3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2 > SELF 0.00000000 Waves

{ "type": 13, "id": "7D25JRQWLTTnH8LN1AcJn6HcDP8YGHw74ukhB5qSnzQP", "fee": 1200000, "feeAssetId": null, "timestamp": 1685971901807, "version": 2, "chainId": 84, "sender": "3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2", "senderPublicKey": "EM2pooK6eEzhzFXZFGd2phMRus6f1M5GxBsawNk9oi37", "proofs": [ "4mcHQ4LDFAjUBudf4jgccTJDcTBoajkCgBSUtgDzAGPcqgMNFFyQGJCW8KeAkWpY9wdWkHBseefnoif4tbVLvTgB" ], "script": "base64:BgIbCAISBAoCCAESBAoCAQESBgoECAEBGBIDCgEBNQAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQAC3JlY0xhbmRTaXplAAEBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAAQxnZXRJbnRPckVsc2UCA2tleQpkZWZhdWx0VmFsCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQUKZGVmYXVsdFZhbAARSWR4Q2ZnU3Rha2luZ0RhcHAAAQEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgITc3Rha2VkTGFuZHNCeU93bmVyXwUJb3duZXJBZGRyARFrZXlSZXNQcm9wb3J0aW9ucwACE3Jlc1R5cGVzUHJvcG9ydGlvbnMBFWtleVVzZXJHd2xSZWxlYXNlVGltZQEIdXNlckFkZHIJAKwCAgIaJXMlc19fdXNlckd3bFJlbGVhc2VUaW1lX18FCHVzZXJBZGRyAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAAtJZHhFZmZUb3RhbAAAAApJZHhFZmZVc2VyAAEBDmdldFZvdGluZ1Bvd2VyARJ1c2VyQWRkclN0ck9yRW1wdHkEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5UmVzUHJvcG9ydGlvbnMAAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlz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QVhWT1RJTkdUSU1FAICQ5MAEABRERUZBVUxURklSU1RQUk9QT1NBTAABAAtnb3ZJZHhTdGFydAAEAAlnb3ZJZHhFbmQABQAMZ292SWR4UXVvcnVtAAYADWdvdklkeE9wdGlvbnMABwAWZ292U3RhdHVzSWR4VG90YWxWb3RlcwAEABZnb3ZTdGF0dXNJZHhJc0NhbmNlbGVkAAUBGGtleVF1b3J1bVJlcXVpcmVkUGVyY2VudAACEiVzX19xdW9ydW1SZXF1aXJlZAERa2V5TGFzdFByb3Bvc2FsSWQAAg4lc19fcHJvcG9zYWxJZAESa2V5Rmlyc3RQcm9wb3NhbElkAAITJXNfX2ZpcnN0UHJvcG9zYWxJZAEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEKcHJvcG9zYWxJZAkArAICAholcyVkX19wcm9wb3NhbFN0YXR1c0RhdGFfXwkApAMBBQpwcm9wb3NhbElkARNrZXlQcm9wb3NhbERhdGFCeUlkAQpwcm9wb3NhbElkCQCsAgICFCVzJWRfX3Byb3Bvc2FsRGF0YV9fCQCkAwEFCnByb3Bvc2FsSWQBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgpwcm9wb3NhbElkA29wdAkAuQkCCQDMCAICBiVzJWQlZAkAzAgCAgp2b3Rlc0J5T3B0CQDMCAIJAKQDAQUKcHJvcG9zYWxJZAkAzAgCCQCkAwEFA29wdAUDbmlsBQNTRVABG2tleVByb3Bvc2FsVm90ZXNCeUlkQW5kVXNlcgIKcHJvcG9zYWxJZAh1c2VyQWRkcgkAuQkCCQDMCAICBiVzJWQlcwkAzAgCAgt2b3Rlc0J5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQARxrZXlQcm9wb3NhbENob2ljZUJ5SWRBbmRVc2VyAgpwcm9wb3NhbElkCHVzZXJBZGRyCQC5CQIJAMwIAgIGJXMlZCVzCQDMCAICDG9wdGlvbkJ5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBCnByb3Bvc2FsSWQJAKwCAgIRJXMlZF9fbnVtVm90ZXJzX18JAKQDAQUKcHJvcG9zYWxJZAEYa2V5U3RhdHNBdmVyVW5pcXVlVm90ZXJzAAIgJXMlcyVzX19zdGF0c19fYXZnX191bmlxdWVWb3RlcnMBFGtleVN0YXRzQXZlckd3bFZvdGVkAAIcJXMlcyVzX19zdGF0c19fYXZnX19nd2xWb3RlZAEKc3RhdHVzRGF0YQUNaXNWb3RpbmdWYWxpZAl3aW5PcHRpb24Od2luT3B0aW9uVm90ZXMKdG90YWxWb3Rlcw5jYW5jZWxlZEJ5VGVhbQkAuQkCCQDMCAICCiViJWQlZCVkJWIJAMwIAgkApQMBBQ1pc1ZvdGluZ1ZhbGlkCQDMCAIJAKQDAQUJd2luT3B0aW9uCQDMCAIJAKQDAQUOd2luT3B0aW9uVm90ZXMJAMwIAgkApAMBBQp0b3RhbFZvdGVzCQDMCAIJAKUDAQUOY2FuY2VsZWRCeVRlYW0FA25pbAUDU0VQAQxwcm9wb3NhbERhdGEHDHByb3Bvc2FsVHhJZAV0aXRsZQxwcm9wb3NhbFRpbWUPdm90aW5nU3RhcnRUaW1lDXZvdGluZ0VuZFRpbWULcXVvcnVtSW5Hd2wHb3B0aW9ucwkAugkCCQDMCAICDiVzJXMlZCVkJWQlZCVzCQDMCAIFDHByb3Bvc2FsVHhJZAkAzAgCBQV0aXRsZQkAzAgCCQCkAwEFDHByb3Bvc2FsVGltZQkAzAgCCQCkAwEFD3ZvdGluZ1N0YXJ0VGltZQkAzAgCCQCkAwEFDXZvdGluZ0VuZFRpbWUJAMwIAgkApAMBBQtxdW9ydW1Jbkd3bAkAzAgCBQdvcHRpb25zBQNuaWwFA1NFUAENY2FsY1dpbk9wdGlvbgcKcHJvcG9zYWxJZAtvcHRpb25zTGlzdA5pc1ByZXZPcHRpb25hbAlvbGRDaG9pY2UQb3B0aW9uYWxUb3RhbE9sZAluZXdDaG9pY2UTbmV3VG90YWxCeU5ld0Nob2ljZQoBCGZpbmRCZXN0AgNhY2MEZWxlbQQDaWR4CQEFdmFsdWUBCQDPCAIFC29wdGlvbnNMaXN0BQRlbGVtBAN2YWwDBQ5pc1ByZXZPcHRpb25hbAMJAAACBQNpZHgFCW5ld0Nob2ljZQUTbmV3VG90YWxCeU5ld0Nob2ljZQkBDGdldEludE9yRWxzZQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQFA2lkeAAAAwkAAAIFA2lkeAkBBXZhbHVlAQUJb2xkQ2hvaWNlBRBvcHRpb25hbFRvdGFsT2xkAwkAAAIFA2lkeAUJbmV3Q2hvaWNlBRNuZXdUb3RhbEJ5TmV3Q2hvaWNlCQEMZ2V0SW50T3JFbHNlAgkBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgUKcHJvcG9zYWxJZAUDaWR4AAADCQBmAggFA2FjYwJfMgUDdmFsBQNhY2MJAJQKAgUDaWR4BQN2YWwKAAIkbAULb3B0aW9uc0xpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmaW5kQmVzdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEQdXBkYXRlU3RhdHVzRGF0YQQNaXNDYW5jZWxlZFN0cgdpc1ZhbGlkCW5ld1dpbk9wdA1uZXdUb3RhbFZvdGVzCQC5CQIJAMwIAgIKJWIlZCVkJWQlYgkAzAgCCQClAwEFB2lzVmFsaWQJAMwIAgkApAMBCAUJbmV3V2luT3B0Al8xCQDMCAIJAKQDAQgFCW5ld1dpbk9wdAJfMgkAzAgCCQCkAwEFDW5ld1RvdGFsVm90ZXMJAMwIAgUNaXNDYW5jZWxlZFN0cgUDbmlsBQNTRVAEAWkBDWNvbnN0cnVjdG9yVjECCHJlc3RBZGRyDXF1b3J1bVJlcVBlcmMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MABQhyZXN0QWRkcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleVF1b3J1bVJlcXVpcmVkUGVyY2VudAAFDXF1b3J1bVJlcVBlcmMFA25pbAFpAQhjYXN0Vm90ZQIKcHJvcG9zYWxJZAZjaG9pY2UEDnVzZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQLZHluYW1pY0RhdGEJALUJAgkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJARlrZXlQcm9wb3NhbFN0YXR1c0RhdGFCeUlkAQUKcHJvcG9zYWxJZAUDU0VQAwkAAAIJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeElzQ2FuY2VsZWQCBHRydWUJAAIBAhpWb3RpbmcgaXMgY2FuY2VsZWQgYnkgdGVhbQQIcHJvcERhdGEJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJARNrZXlQcm9wb3NhbERhdGFCeUlkAQUKcHJvcG9zYWxJZAUDU0VQBAVzdGFydAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHByb3BEYXRhBQtnb3ZJZHhTdGFydAQDZW5kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIcHJvcERhdGEFCWdvdklkeEVuZAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQVzdGFydAUDbm93CQACAQIWVm90aW5nIG5vdCBzdGFydGVkIHlldAMJAGcCBQNub3cFA2VuZAkAAgECF1ZvdGluZyBhbHJlYWR5IGZpbmlzaGVkBBBhdmFpbGFibGVPcHRpb25zCQC1CQIJAJEDAgUIcHJvcERhdGEFDWdvdklkeE9wdGlvbnMFB0xJU1RTRVAECm51bU9wdGlvbnMJAJADAQUQYXZhaWxhYmxlT3B0aW9ucwMJAGcCAAEFCm51bU9wdGlvbnMJAAIBAhdUb28gZmV3IGNob2ljZXMgdG8gdm90ZQMJAGcCBQZjaG9pY2UFCm51bU9wdGlvbnMJAAIBCQCsAgICG1Vua25vd24gY2hvaWNlISBNdXN0IGJlIDAuLgkApAMBCQBlAgUKbnVtT3B0aW9ucwABBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzU3RyBAZnd2xBbXQJAJEDAgUDZWZmBQpJZHhFZmZVc2VyAwkAZwIAAAUGZ3dsQW10CQACAQIdWW91IG5lZWQgc3Rha2VkIGxhbmRzIHRvIHZvdGUECGd3bFRvdGFsCQCRAwIFA2VmZgULSWR4RWZmVG90YWwECW9sZENob2ljZQkAnwgBCQEca2V5UHJvcG9zYWxDaG9pY2VCeUlkQW5kVXNlcgIFCnByb3Bvc2FsSWQFDnVzZXJBZGRyZXNzU3RyBAxvbGRVc2VyVm90ZXMDCQEBIQEJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UAAAkBDGdldEludE9yRWxzZQIJARtrZXlQcm9wb3NhbFZvdGVzQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgAABBNvbGRUb3RhbEJ5T2xkQ2hvaWNlAwkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQkBDGdldEludE9yRWxzZQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQJAQV2YWx1ZQEFCW9sZENob2ljZQAAAAAEE29sZFRvdGFsQnlOZXdDaG9pY2UJAQxnZXRJbnRPckVsc2UCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQZjaG9pY2UAAAQIb2xkVG90YWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtkeW5hbWljRGF0YQUWZ292U3RhdHVzSWR4VG90YWxWb3RlcwQTbmV3VG90YWxCeU9sZENob2ljZQMJAQEhAQkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQAACQBkAgkAZQIFE29sZFRvdGFsQnlPbGRDaG9pY2UFDG9sZFVzZXJWb3RlcwMJAAACCQEFdmFsdWUBBQlvbGRDaG9pY2UFBmNob2ljZQUGZ3dsQW10AAAEE25ld1RvdGFsQnlOZXdDaG9pY2UDAwkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQkAAAIJAQV2YWx1ZQEFCW9sZENob2ljZQUGY2hvaWNlBwUTbmV3VG90YWxCeU9sZENob2ljZQkAZAIFE29sZFRvdGFsQnlOZXdDaG9pY2UFBmd3bEFtdAQIbmV3VG90YWwJAGQCCQBlAgUIb2xkVG90YWwFDG9sZFVzZXJWb3RlcwUGZ3dsQW10BA9pc1F1b3J1bVJlYWNoZWQJAGcCBQhuZXdUb3RhbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHByb3BEYXRhBQxnb3ZJZHhRdW9ydW0EFW51bVZvdGVyc0J5UHJvcG9zYWxJZAkBDGdldEludE9yRWxzZQIJAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBBQpwcm9wb3NhbElkAAAEFG9sZEF2ZXJVbmlxdWVWb3RlcnM2CQEMZ2V0SW50T3JFbHNlAgkBGGtleVN0YXRzQXZlclVuaXF1ZVZvdGVycwAAAAQMbnVtUHJvcG9zYWxzCQBkAgkAZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARFrZXlMYXN0UHJvcG9zYWxJZAAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUZpcnN0UHJvcG9zYWxJZAAFFERFRkFVTFRGSVJTVFBST1BPU0FMAAEECnVuaXF1ZURpZmYDCQAAAgUMb2xkVXNlclZvdGVzAAAAAQAABBRuZXdBdmVyVW5pcXVlVm90ZXJzNgkAZAIFFG9sZEF2ZXJVbmlxdWVWb3RlcnM2CQBrAwUKdW5pcXVlRGlmZgUFTVVMVDYFDG51bVByb3Bvc2FscwQKb2xkQXZlckd3bAkBDGdldEludE9yRWxzZQIJARRrZXlTdGF0c0F2ZXJHd2xWb3RlZAAAAAQKbmV3QXZlckd3bAkAZAIFCm9sZEF2ZXJHd2wJAGkCCQBlAgUGZ3dsQW10BQxvbGRVc2VyVm90ZXMFDG51bVByb3Bvc2FscwQOaXNQcmV2T3B0aW9uYWwDCQEBIQEJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UGCQAAAgkBBXZhbHVlAQUJb2xkQ2hvaWNlBQZjaG9pY2UEEG9wdGlvbmFsVG90YWxPbGQDBQ5pc1ByZXZPcHRpb25hbAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkCQEFdmFsdWUBBQlvbGRDaG9pY2UFE25ld1RvdGFsQnlPbGRDaG9pY2UFA25pbAQGd2luT3B0CQENY2FsY1dpbk9wdGlvbgcFCnByb3Bvc2FsSWQFEGF2YWlsYWJsZU9wdGlvbnMFDmlzUHJldk9wdGlvbmFsBQlvbGRDaG9pY2UFE25ld1RvdGFsQnlPbGRDaG9pY2UFBmNob2ljZQUTbmV3VG90YWxCeU5ld0Nob2ljZQQLcmVsZWFzZVRpbWUJAJYDAQkAzAgCBQNlbmQJAMwIAgkBDGdldEludE9yRWxzZQIJARVrZXlVc2VyR3dsUmVsZWFzZVRpbWUBBQ51c2VyQWRkcmVzc1N0cgAABQNuaWwJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEca2V5UHJvcG9zYWxDaG9pY2VCeUlkQW5kVXNlcgIFCnByb3Bvc2FsSWQFDnVzZXJBZGRyZXNzU3RyBQZjaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARtrZXlQcm9wb3NhbFZvdGVzQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgUGZ3dsQW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQZjaG9pY2UFE25ld1RvdGFsQnlOZXdDaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBBQpwcm9wb3NhbElkCQBkAgUVbnVtVm90ZXJzQnlQcm9wb3NhbElkBQp1bmlxdWVEaWZmCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVa2V5VXNlckd3bFJlbGVhc2VUaW1lAQUOdXNlckFkZHJlc3NTdHIFC3JlbGVhc2VUaW1lCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5U3RhdHNBdmVyVW5pcXVlVm90ZXJzAAUUbmV3QXZlclVuaXF1ZVZvdGVyczYJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlTdGF0c0F2ZXJHd2xWb3RlZAAFCm5ld0F2ZXJHd2wJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleVByb3Bvc2FsU3RhdHVzRGF0YUJ5SWQBBQpwcm9wb3NhbElkCQEQdXBkYXRlU3RhdHVzRGF0YQQJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeElzQ2FuY2VsZWQFD2lzUXVvcnVtUmVhY2hlZAUGd2luT3B0BQhuZXdUb3RhbAUDbmlsBRBvcHRpb25hbFRvdGFsT2xkBQR1bml0AWkBDmluaXRpYXRlVm90aW5nBAV0aXRsZQ92b3RpbmdTdGFydFRpbWUNdm90aW5nRW5kVGltZQtvcHRpb25zTGlzdAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQInZ292ZXJuYW5jZSBkb2Vzbid0IHJlcXVpcmUgYW55IHBheW1lbnRzBAxwcm9wb3NhbFR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAACBQV0aXRsZQIACQACAQIOVGl0bGUgaXMgZW1wdHkDCQBmAgkAsQIBBQV0aXRsZQUITUFYVElUTEUJAAIBAg5Ub28gbG9uZyB0aXRsZQQMcHJvcG9zYWxUaW1lCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQkAAgEJAKwCAgkArAICCQCsAgICEHZvdGluZ1N0YXJ0VGltZT0JAKQDAQUPdm90aW5nU3RhcnRUaW1lAhAgPCBwcm9wb3NhbFRpbWU9CQCkAwEFDHByb3Bvc2FsVGltZQMJAGYCBQ92b3RpbmdTdGFydFRpbWUFDXZvdGluZ0VuZFRpbWUJAAIBCQCsAgIJAKwCAgkArAICAg52b3RpbmdFbmRUaW1lPQkApAMBBQ12b3RpbmdFbmRUaW1lAhMgPCB2b3RpbmdTdGFydFRpbWU9CQCkAwEFD3ZvdGluZ1N0YXJ0VGltZQMJAGYCCQBlAgUNdm90aW5nRW5kVGltZQUPdm90aW5nU3RhcnRUaW1lBQ1NQVhWT1RJTkdUSU1FCQACAQkArAICCQCsAgIJAKwCAgIbVm90aW5nIHBlcmlvZCBleGNlZWRzIG1heDogCQCkAwEJAGUCBQ12b3RpbmdFbmRUaW1lBQ92b3RpbmdTdGFydFRpbWUCAyA+IAkApAMBBQ1NQVhWT1RJTkdUSU1FAwkAZwIAAQkAkAMBBQtvcHRpb25zTGlzdAkAAgECF1RvbyBmZXcgY2hvaWNlcyB0byB2b3RlBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgECAAQMZ1BpZWNlc1RvdGFsCQCRAwIFA2VmZgULSWR4RWZmVG90YWwEBnF1b3J1bQkBDGdldEludE9yRWxzZQIJARhrZXlRdW9ydW1SZXF1aXJlZFBlcmNlbnQABQ1ERUZBVUxUUVVPUlVNBA9xdW9ydW1JbkdwaWVjZXMJAGsDBQZxdW9ydW0FDGdQaWVjZXNUb3RhbAUFTVVMVDYECnByb3Bvc2FsSWQJAGQCCQEMZ2V0SW50T3JFbHNlAgkBEWtleUxhc3RQcm9wb3NhbElkAAAAAAEECm9wdGlvbnNTdHIJALkJAgULb3B0aW9uc0xpc3QFB0xJU1RTRVAJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEWtleUxhc3RQcm9wb3NhbElkAAUKcHJvcG9zYWxJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQJAQpzdGF0dXNEYXRhBQcAAAAAAAAHCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlQcm9wb3NhbERhdGFCeUlkAQUKcHJvcG9zYWxJZAkBDHByb3Bvc2FsRGF0YQcFDHByb3Bvc2FsVHhJZAkA3AQBCQCbAwEFBXRpdGxlBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQUNdm90aW5nRW5kVGltZQUPcXVvcnVtSW5HcGllY2VzBQpvcHRpb25zU3RyBQNuaWwFDHByb3Bvc2FsVHhJZAFpAQxjYW5jZWxWb3RpbmcBCnByb3Bvc2FsSWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg5ub3QgYXV0aG9yaXplZAQLY3VycmVudERhdGEJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQEC3VwZGF0ZWREYXRhCQCsAgIJAKwCAgkArwICBQtjdXJyZW50RGF0YQkBBXZhbHVlAQkAtwkCBQtjdXJyZW50RGF0YQUDU0VQBQNTRVACBHRydWUJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQFC3VwZGF0ZWREYXRhBQNuaWwFBHVuaXQAUBMDUw==", "height": 2609437, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ErN5x9ZhdxUr6VPruumyVWpEbMoB5nfvuRJ8HqVmGCap Next: 8ntMWPr84s9hnvJSjZPWBt7EZnpFXJKDGN1oz7EJYywh Diff:
OldNewDifferences
6363 func D (E) = ("%s%s__userGwlReleaseTime__" + E)
6464
6565
66-let F = ":"
67-
68-let G = 500000
69-
70-let H = 250
71-
72-let I = 1209600000
73-
74-let J = 1
75-
76-let K = 4
77-
78-let L = 5
79-
80-let M = 6
81-
82-let N = 7
83-
84-let O = 4
85-
86-let P = 5
87-
88-func Q () = "%s__quorumRequired"
89-
90-
91-func R () = "%s__proposalId"
92-
93-
94-func S () = "%s__firstProposalId"
95-
96-
97-func T (U) = ("%s%d__proposalStatusData__" + toString(U))
98-
99-
100-func V (U) = ("%s%d__proposalData__" + toString(U))
101-
102-
103-func W (U,X) = makeString(["%s%d%d", "votesByOpt", toString(U), toString(X)], d)
104-
105-
106-func Y (U,E) = makeString(["%s%d%s", "votesByUser", toString(U), E], d)
107-
108-
109-func Z (U,E) = makeString(["%s%d%s", "optionByUser", toString(U), E], d)
110-
111-
112-func aa (U) = ("%s%d__numVoters__" + toString(U))
113-
114-
115-func ab () = "%s%s%s__stats__avg__uniqueVoters"
116-
117-
118-func ac () = "%s%s%s__stats__avg__gwlVoted"
119-
120-
121-func ad (ae,af,ag,ah,ai) = makeString(["%b%d%d%d%b", toString(ae), toString(af), toString(ag), toString(ah), toString(ai)], d)
122-
123-
124-func aj (ak,al,am,an,ao,ap,aq) = makeString_2C(["%s%s%d%d%d%d%s", ak, al, toString(am), toString(an), toString(ao), toString(ap), aq], d)
125-
126-
127-let ar = 0
128-
129-let as = 1
130-
131-func at (au) = {
132- let c = au
66+func F (G) = {
67+ let c = G
13368 if (("S" == c))
13469 then f
13570 else if (("M" == c))
14479 }
14580
14681
147-func av (aw) = {
148- let ax = split(valueOrElse(getString(z, C()), "0_0_0_0_0_0"), "_")
149- func ay (az,aA) = (az + parseIntValue(aA))
82+let H = 0
15083
151- let aB = {
152- let aC = ax
153- let aD = size(aC)
154- let aE = 0
155- func aF (aG,aH) = if ((aH >= aD))
156- then aG
157- else ay(aG, aC[aH])
84+let I = 1
15885
159- func aI (aG,aH) = if ((aH >= aD))
160- then aG
86+func J (K) = {
87+ let L = split(valueOrElse(getString(z, C()), "0_0_0_0_0_0"), "_")
88+ func M (N,O) = (N + parseIntValue(O))
89+
90+ let P = {
91+ let Q = L
92+ let R = size(Q)
93+ let S = 0
94+ func T (U,V) = if ((V >= R))
95+ then U
96+ else M(U, Q[V])
97+
98+ func W (U,V) = if ((V >= R))
99+ then U
161100 else throw("List size exceeds 6")
162101
163- aI(aF(aF(aF(aF(aF(aF(aE, 0), 1), 2), 3), 4), 5), 6)
102+ W(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6)
164103 }
165- let aJ = if ((aw == ""))
104+ let X = if ((K == ""))
166105 then 0
167106 else {
168- let aK = getString(z, A(aw))
169- let aL = if (isDefined(aK))
170- then split_51C(value(aK), "_")
107+ let Y = getString(z, A(K))
108+ let Z = if (isDefined(Y))
109+ then split_51C(value(Y), "_")
171110 else nil
172- func aM (az,aN) = {
173- let aO = value(assetInfo(fromBase58String(aN)))
174- let au = split(aO.description, "_")[k]
175- (az + at(au))
111+ func aa (N,ab) = {
112+ let ac = value(assetInfo(fromBase58String(ab)))
113+ let G = split(ac.description, "_")[k]
114+ (N + F(G))
176115 }
177116
178- let aC = aL
179- let aD = size(aC)
180- let aE = 0
181- func aP (aG,aH) = if ((aH >= aD))
182- then aG
183- else aM(aG, aC[aH])
117+ let Q = Z
118+ let R = size(Q)
119+ let S = 0
120+ func ad (U,V) = if ((V >= R))
121+ then U
122+ else aa(U, Q[V])
184123
185- func aQ (aG,aH) = if ((aH >= aD))
186- then aG
124+ func ae (U,V) = if ((V >= R))
125+ then U
187126 else throw("List size exceeds 100")
188127
189- aQ(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aE, 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)
128+ ae(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(S, 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)
190129 }
191-[aB, aJ]
130+[P, X]
192131 }
193132
194133
195-func aR (U,aS,aT,aU,aV,aW,aX) = {
196- func aY (az,aZ) = {
134+let af = ":"
135+
136+let ag = 500000
137+
138+let ah = 250
139+
140+let ai = 1209600000
141+
142+let aj = 1
143+
144+let ak = 4
145+
146+let al = 5
147+
148+let am = 6
149+
150+let an = 7
151+
152+let ao = 4
153+
154+let ap = 5
155+
156+func aq () = "%s__quorumRequired"
157+
158+
159+func ar () = "%s__proposalId"
160+
161+
162+func as () = "%s__firstProposalId"
163+
164+
165+func at (au) = ("%s%d__proposalStatusData__" + toString(au))
166+
167+
168+func av (au) = ("%s%d__proposalData__" + toString(au))
169+
170+
171+func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], d)
172+
173+
174+func ay (au,E) = makeString(["%s%d%s", "votesByUser", toString(au), E], d)
175+
176+
177+func az (au,E) = makeString(["%s%d%s", "optionByUser", toString(au), E], d)
178+
179+
180+func aA (au) = ("%s%d__numVoters__" + toString(au))
181+
182+
183+func aB () = "%s%s%s__stats__avg__uniqueVoters"
184+
185+
186+func aC () = "%s%s%s__stats__avg__gwlVoted"
187+
188+
189+func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], d)
190+
191+
192+func aJ (aK,aL,aM,aN,aO,aP,aQ) = makeString_2C(["%s%s%d%d%d%d%s", aK, aL, toString(aM), toString(aN), toString(aO), toString(aP), aQ], d)
193+
194+
195+func aR (au,aS,aT,aU,aV,aW,aX) = {
196+ func aY (N,aZ) = {
197197 let x = value(indexOf(aS, aZ))
198198 let ba = if (aT)
199199 then if ((x == aW))
200200 then aX
201- else o(W(U, x), 0)
201+ else o(aw(au, x), 0)
202202 else if ((x == value(aU)))
203203 then aV
204204 else if ((x == aW))
205205 then aX
206- else o(W(U, x), 0)
207- if ((az._2 > ba))
208- then az
206+ else o(aw(au, x), 0)
207+ if ((N._2 > ba))
208+ then N
209209 else $Tuple2(x, ba)
210210 }
211211
212- let aC = aS
213- let aD = size(aC)
214- let aE = $Tuple2(0, 0)
215- func aF (aG,aH) = if ((aH >= aD))
216- then aG
217- else aY(aG, aC[aH])
212+ let Q = aS
213+ let R = size(Q)
214+ let S = $Tuple2(0, 0)
215+ func T (U,V) = if ((V >= R))
216+ then U
217+ else aY(U, Q[V])
218218
219- func aI (aG,aH) = if ((aH >= aD))
220- then aG
219+ func W (U,V) = if ((V >= R))
220+ then U
221221 else throw("List size exceeds 10")
222222
223- aI(aF(aF(aF(aF(aF(aF(aF(aF(aF(aF(aE, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
223+ W(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
224224 }
225225
226226
230230 @Callable(bg)
231231 func constructorV1 (bh,bi) = if ((bg.caller != this))
232232 then throw("Permission denied")
233- else [StringEntry(s(), bh), IntegerEntry(Q(), bi)]
233+ else [StringEntry(s(), bh), IntegerEntry(aq(), bi)]
234234
235235
236236
237237 @Callable(bg)
238-func castVote (U,bj) = {
238+func castVote (au,bj) = {
239239 let bk = toString(bg.caller)
240- let bl = split(l(this, T(U)), d)
241- if ((bl[P] == "true"))
240+ let bl = split(l(this, at(au)), d)
241+ if ((bl[ap] == "true"))
242242 then throw("Voting is canceled by team")
243243 else {
244- let bm = split_4C(l(this, V(U)), d)
245- let bn = parseIntValue(bm[K])
246- let bo = parseIntValue(bm[L])
244+ let bm = split_4C(l(this, av(au)), d)
245+ let bn = parseIntValue(bm[ak])
246+ let bo = parseIntValue(bm[al])
247247 let bp = lastBlock.timestamp
248248 if ((bn > bp))
249249 then throw("Voting not started yet")
250250 else if ((bp >= bo))
251251 then throw("Voting already finished")
252252 else {
253- let bq = split(bm[N], F)
253+ let bq = split(bm[an], af)
254254 let br = size(bq)
255255 if ((1 >= br))
256256 then throw("Too few choices to vote")
257257 else if ((bj >= br))
258258 then throw(("Unknown choice! Must be 0.." + toString((br - 1))))
259259 else {
260- let bs = av(bk)
261- let bt = bs[as]
260+ let bs = J(bk)
261+ let bt = bs[I]
262262 if ((0 >= bt))
263263 then throw("You need staked lands to vote")
264264 else {
265- let bu = bs[ar]
266- let aU = getInteger(Z(U, bk))
265+ let bu = bs[H]
266+ let aU = getInteger(az(au, bk))
267267 let bv = if (!(isDefined(aU)))
268268 then 0
269- else o(Y(U, bk), 0)
269+ else o(ay(au, bk), 0)
270270 let bw = if (isDefined(aU))
271- then o(W(U, value(aU)), 0)
271+ then o(aw(au, value(aU)), 0)
272272 else 0
273- let bx = o(W(U, bj), 0)
274- let by = parseIntValue(bl[O])
273+ let bx = o(aw(au, bj), 0)
274+ let by = parseIntValue(bl[ao])
275275 let bz = if (!(isDefined(aU)))
276276 then 0
277277 else ((bw - bv) + (if ((value(aU) == bj))
283283 then bz
284284 else (bx + bt)
285285 let bA = ((by - bv) + bt)
286- let bB = (bA >= parseIntValue(bm[M]))
287- let bC = o(aa(U), 0)
288- let bD = o(ab(), 0)
289- let bE = ((getIntegerValue(R()) - valueOrElse(getInteger(S()), J)) + 1)
286+ let bB = (bA >= parseIntValue(bm[am]))
287+ let bC = o(aA(au), 0)
288+ let bD = o(aB(), 0)
289+ let bE = ((getIntegerValue(ar()) - valueOrElse(getInteger(as()), aj)) + 1)
290290 let bF = if ((bv == 0))
291291 then 1
292292 else 0
293293 let bG = (bD + fraction(bF, e, bE))
294- let bH = o(ac(), 0)
294+ let bH = o(aC(), 0)
295295 let bI = (bH + ((bt - bv) / bE))
296296 let aT = if (!(isDefined(aU)))
297297 then true
298298 else (value(aU) == bj)
299299 let aV = if (aT)
300300 then nil
301- else [IntegerEntry(W(U, value(aU)), bz)]
302- let bJ = aR(U, bq, aT, aU, bz, bj, aX)
301+ else [IntegerEntry(aw(au, value(aU)), bz)]
302+ let bJ = aR(au, bq, aT, aU, bz, bj, aX)
303303 let bK = max([bo, o(D(bk), 0)])
304- $Tuple2(([IntegerEntry(Z(U, bk), bj), IntegerEntry(Y(U, bk), bt), IntegerEntry(W(U, bj), aX), IntegerEntry(aa(U), (bC + bF)), IntegerEntry(D(bk), bK), IntegerEntry(ab(), bG), IntegerEntry(ac(), bI), StringEntry(T(U), bb(bl[P], bB, bJ, bA))] ++ aV), unit)
304+ $Tuple2(([IntegerEntry(az(au, bk), bj), IntegerEntry(ay(au, bk), bt), IntegerEntry(aw(au, bj), aX), IntegerEntry(aA(au), (bC + bF)), IntegerEntry(D(bk), bK), IntegerEntry(aB(), bG), IntegerEntry(aC(), bI), StringEntry(at(au), bb(bl[ap], bB, bJ, bA))] ++ aV), unit)
305305 }
306306 }
307307 }
311311
312312
313313 @Callable(bg)
314-func initiateVoting (al,an,ao,aS) = if ((bg.caller != this))
314+func initiateVoting (aL,aN,aO,aS) = if ((bg.caller != this))
315315 then throw("Permission denied")
316316 else if ((size(bg.payments) != 0))
317317 then throw("governance doesn't require any payments")
318318 else {
319- let ak = toBase58String(bg.transactionId)
320- if ((al == ""))
319+ let aK = toBase58String(bg.transactionId)
320+ if ((aL == ""))
321321 then throw("Title is empty")
322- else if ((size(al) > H))
322+ else if ((size(aL) > ah))
323323 then throw("Too long title")
324324 else {
325- let am = lastBlock.timestamp
326- if ((am > an))
327- then throw(((("votingStartTime=" + toString(an)) + " < proposalTime=") + toString(am)))
328- else if ((an > ao))
329- then throw(((("votingEndTime=" + toString(ao)) + " < votingStartTime=") + toString(an)))
330- else if (((ao - an) > I))
331- then throw(((("Voting period exceeds max: " + toString((ao - an))) + " > ") + toString(I)))
325+ let aM = lastBlock.timestamp
326+ if ((aM > aN))
327+ then throw(((("votingStartTime=" + toString(aN)) + " < proposalTime=") + toString(aM)))
328+ else if ((aN > aO))
329+ then throw(((("votingEndTime=" + toString(aO)) + " < votingStartTime=") + toString(aN)))
330+ else if (((aO - aN) > ai))
331+ then throw(((("Voting period exceeds max: " + toString((aO - aN))) + " > ") + toString(ai)))
332332 else if ((1 >= size(aS)))
333333 then throw("Too few choices to vote")
334334 else {
335- let bs = av("")
336- let bL = bs[ar]
337- let bM = o(Q(), G)
335+ let bs = J("")
336+ let bL = bs[H]
337+ let bM = o(aq(), ag)
338338 let bN = fraction(bM, bL, e)
339- let U = (o(R(), 0) + 1)
340- let bO = makeString(aS, F)
341- $Tuple2([IntegerEntry(R(), U), StringEntry(T(U), ad(false, 0, 0, 0, false)), StringEntry(V(U), aj(ak, toBase16String(toBytes(al)), am, an, ao, bN, bO))], ak)
339+ let au = (o(ar(), 0) + 1)
340+ let bO = makeString(aS, af)
341+ $Tuple2([IntegerEntry(ar(), au), StringEntry(at(au), aD(false, 0, 0, 0, false)), StringEntry(av(au), aJ(aK, toBase16String(toBytes(aL)), aM, aN, aO, bN, bO))], aK)
342342 }
343343 }
344344 }
346346
347347
348348 @Callable(bg)
349-func cancelVoting (U) = if ((bg.caller != this))
349+func cancelVoting (au) = if ((bg.caller != this))
350350 then throw("not authorized")
351351 else {
352- let bP = l(this, T(U))
352+ let bP = l(this, at(au))
353353 let bQ = ((take(bP, value(lastIndexOf(bP, d))) + d) + "true")
354- $Tuple2([StringEntry(T(U), bQ)], unit)
354+ $Tuple2([StringEntry(at(au), bQ)], unit)
355355 }
356356
357357
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = take(drop(this.bytes, 1), 1)
55
66 let b = {
77 let c = a
88 if ((base58'2W' == c))
99 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
1010 else if ((base58'2T' == c))
1111 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
1212 else throw("Unknown chain")
1313 }
1414
1515 let d = "__"
1616
1717 let e = 1000000
1818
1919 let f = 25
2020
2121 let g = 100
2222
2323 let h = 225
2424
2525 let i = 400
2626
2727 let j = 625
2828
2929 let k = 1
3030
3131 func l (m,n) = valueOrErrorMessage(getString(m, n), makeString(["mandatory ", toString(m), ".", n, " is not defined"], ""))
3232
3333
3434 func o (n,p) = valueOrElse(getInteger(this, n), p)
3535
3636
3737 let q = 1
3838
3939 func r () = "%s__restConfig"
4040
4141
4242 func s () = "%s__restAddr"
4343
4444
4545 func t (u) = split_4C(l(u, r()), d)
4646
4747
4848 func v (w,x) = valueOrErrorMessage(addressFromString(w[x]), ("Rest cfg doesn't contain address at index " + toString(x)))
4949
5050
5151 let y = addressFromStringValue(valueOrElse(getString(this, s()), b))
5252
5353 let w = t(y)
5454
5555 let z = v(w, q)
5656
5757 func A (B) = ("stakedLandsByOwner_" + B)
5858
5959
6060 func C () = "resTypesProportions"
6161
6262
6363 func D (E) = ("%s%s__userGwlReleaseTime__" + E)
6464
6565
66-let F = ":"
67-
68-let G = 500000
69-
70-let H = 250
71-
72-let I = 1209600000
73-
74-let J = 1
75-
76-let K = 4
77-
78-let L = 5
79-
80-let M = 6
81-
82-let N = 7
83-
84-let O = 4
85-
86-let P = 5
87-
88-func Q () = "%s__quorumRequired"
89-
90-
91-func R () = "%s__proposalId"
92-
93-
94-func S () = "%s__firstProposalId"
95-
96-
97-func T (U) = ("%s%d__proposalStatusData__" + toString(U))
98-
99-
100-func V (U) = ("%s%d__proposalData__" + toString(U))
101-
102-
103-func W (U,X) = makeString(["%s%d%d", "votesByOpt", toString(U), toString(X)], d)
104-
105-
106-func Y (U,E) = makeString(["%s%d%s", "votesByUser", toString(U), E], d)
107-
108-
109-func Z (U,E) = makeString(["%s%d%s", "optionByUser", toString(U), E], d)
110-
111-
112-func aa (U) = ("%s%d__numVoters__" + toString(U))
113-
114-
115-func ab () = "%s%s%s__stats__avg__uniqueVoters"
116-
117-
118-func ac () = "%s%s%s__stats__avg__gwlVoted"
119-
120-
121-func ad (ae,af,ag,ah,ai) = makeString(["%b%d%d%d%b", toString(ae), toString(af), toString(ag), toString(ah), toString(ai)], d)
122-
123-
124-func aj (ak,al,am,an,ao,ap,aq) = makeString_2C(["%s%s%d%d%d%d%s", ak, al, toString(am), toString(an), toString(ao), toString(ap), aq], d)
125-
126-
127-let ar = 0
128-
129-let as = 1
130-
131-func at (au) = {
132- let c = au
66+func F (G) = {
67+ let c = G
13368 if (("S" == c))
13469 then f
13570 else if (("M" == c))
13671 then g
13772 else if (("L" == c))
13873 then h
13974 else if (("XL" == c))
14075 then i
14176 else if (("XXL" == c))
14277 then j
14378 else throw("Unknown land size")
14479 }
14580
14681
147-func av (aw) = {
148- let ax = split(valueOrElse(getString(z, C()), "0_0_0_0_0_0"), "_")
149- func ay (az,aA) = (az + parseIntValue(aA))
82+let H = 0
15083
151- let aB = {
152- let aC = ax
153- let aD = size(aC)
154- let aE = 0
155- func aF (aG,aH) = if ((aH >= aD))
156- then aG
157- else ay(aG, aC[aH])
84+let I = 1
15885
159- func aI (aG,aH) = if ((aH >= aD))
160- then aG
86+func J (K) = {
87+ let L = split(valueOrElse(getString(z, C()), "0_0_0_0_0_0"), "_")
88+ func M (N,O) = (N + parseIntValue(O))
89+
90+ let P = {
91+ let Q = L
92+ let R = size(Q)
93+ let S = 0
94+ func T (U,V) = if ((V >= R))
95+ then U
96+ else M(U, Q[V])
97+
98+ func W (U,V) = if ((V >= R))
99+ then U
161100 else throw("List size exceeds 6")
162101
163- aI(aF(aF(aF(aF(aF(aF(aE, 0), 1), 2), 3), 4), 5), 6)
102+ W(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6)
164103 }
165- let aJ = if ((aw == ""))
104+ let X = if ((K == ""))
166105 then 0
167106 else {
168- let aK = getString(z, A(aw))
169- let aL = if (isDefined(aK))
170- then split_51C(value(aK), "_")
107+ let Y = getString(z, A(K))
108+ let Z = if (isDefined(Y))
109+ then split_51C(value(Y), "_")
171110 else nil
172- func aM (az,aN) = {
173- let aO = value(assetInfo(fromBase58String(aN)))
174- let au = split(aO.description, "_")[k]
175- (az + at(au))
111+ func aa (N,ab) = {
112+ let ac = value(assetInfo(fromBase58String(ab)))
113+ let G = split(ac.description, "_")[k]
114+ (N + F(G))
176115 }
177116
178- let aC = aL
179- let aD = size(aC)
180- let aE = 0
181- func aP (aG,aH) = if ((aH >= aD))
182- then aG
183- else aM(aG, aC[aH])
117+ let Q = Z
118+ let R = size(Q)
119+ let S = 0
120+ func ad (U,V) = if ((V >= R))
121+ then U
122+ else aa(U, Q[V])
184123
185- func aQ (aG,aH) = if ((aH >= aD))
186- then aG
124+ func ae (U,V) = if ((V >= R))
125+ then U
187126 else throw("List size exceeds 100")
188127
189- aQ(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aP(aE, 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)
128+ ae(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(ad(S, 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)
190129 }
191-[aB, aJ]
130+[P, X]
192131 }
193132
194133
195-func aR (U,aS,aT,aU,aV,aW,aX) = {
196- func aY (az,aZ) = {
134+let af = ":"
135+
136+let ag = 500000
137+
138+let ah = 250
139+
140+let ai = 1209600000
141+
142+let aj = 1
143+
144+let ak = 4
145+
146+let al = 5
147+
148+let am = 6
149+
150+let an = 7
151+
152+let ao = 4
153+
154+let ap = 5
155+
156+func aq () = "%s__quorumRequired"
157+
158+
159+func ar () = "%s__proposalId"
160+
161+
162+func as () = "%s__firstProposalId"
163+
164+
165+func at (au) = ("%s%d__proposalStatusData__" + toString(au))
166+
167+
168+func av (au) = ("%s%d__proposalData__" + toString(au))
169+
170+
171+func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], d)
172+
173+
174+func ay (au,E) = makeString(["%s%d%s", "votesByUser", toString(au), E], d)
175+
176+
177+func az (au,E) = makeString(["%s%d%s", "optionByUser", toString(au), E], d)
178+
179+
180+func aA (au) = ("%s%d__numVoters__" + toString(au))
181+
182+
183+func aB () = "%s%s%s__stats__avg__uniqueVoters"
184+
185+
186+func aC () = "%s%s%s__stats__avg__gwlVoted"
187+
188+
189+func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], d)
190+
191+
192+func aJ (aK,aL,aM,aN,aO,aP,aQ) = makeString_2C(["%s%s%d%d%d%d%s", aK, aL, toString(aM), toString(aN), toString(aO), toString(aP), aQ], d)
193+
194+
195+func aR (au,aS,aT,aU,aV,aW,aX) = {
196+ func aY (N,aZ) = {
197197 let x = value(indexOf(aS, aZ))
198198 let ba = if (aT)
199199 then if ((x == aW))
200200 then aX
201- else o(W(U, x), 0)
201+ else o(aw(au, x), 0)
202202 else if ((x == value(aU)))
203203 then aV
204204 else if ((x == aW))
205205 then aX
206- else o(W(U, x), 0)
207- if ((az._2 > ba))
208- then az
206+ else o(aw(au, x), 0)
207+ if ((N._2 > ba))
208+ then N
209209 else $Tuple2(x, ba)
210210 }
211211
212- let aC = aS
213- let aD = size(aC)
214- let aE = $Tuple2(0, 0)
215- func aF (aG,aH) = if ((aH >= aD))
216- then aG
217- else aY(aG, aC[aH])
212+ let Q = aS
213+ let R = size(Q)
214+ let S = $Tuple2(0, 0)
215+ func T (U,V) = if ((V >= R))
216+ then U
217+ else aY(U, Q[V])
218218
219- func aI (aG,aH) = if ((aH >= aD))
220- then aG
219+ func W (U,V) = if ((V >= R))
220+ then U
221221 else throw("List size exceeds 10")
222222
223- aI(aF(aF(aF(aF(aF(aF(aF(aF(aF(aF(aE, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
223+ W(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
224224 }
225225
226226
227227 func bb (bc,bd,be,bf) = makeString(["%b%d%d%d%b", toString(bd), toString(be._1), toString(be._2), toString(bf), bc], d)
228228
229229
230230 @Callable(bg)
231231 func constructorV1 (bh,bi) = if ((bg.caller != this))
232232 then throw("Permission denied")
233- else [StringEntry(s(), bh), IntegerEntry(Q(), bi)]
233+ else [StringEntry(s(), bh), IntegerEntry(aq(), bi)]
234234
235235
236236
237237 @Callable(bg)
238-func castVote (U,bj) = {
238+func castVote (au,bj) = {
239239 let bk = toString(bg.caller)
240- let bl = split(l(this, T(U)), d)
241- if ((bl[P] == "true"))
240+ let bl = split(l(this, at(au)), d)
241+ if ((bl[ap] == "true"))
242242 then throw("Voting is canceled by team")
243243 else {
244- let bm = split_4C(l(this, V(U)), d)
245- let bn = parseIntValue(bm[K])
246- let bo = parseIntValue(bm[L])
244+ let bm = split_4C(l(this, av(au)), d)
245+ let bn = parseIntValue(bm[ak])
246+ let bo = parseIntValue(bm[al])
247247 let bp = lastBlock.timestamp
248248 if ((bn > bp))
249249 then throw("Voting not started yet")
250250 else if ((bp >= bo))
251251 then throw("Voting already finished")
252252 else {
253- let bq = split(bm[N], F)
253+ let bq = split(bm[an], af)
254254 let br = size(bq)
255255 if ((1 >= br))
256256 then throw("Too few choices to vote")
257257 else if ((bj >= br))
258258 then throw(("Unknown choice! Must be 0.." + toString((br - 1))))
259259 else {
260- let bs = av(bk)
261- let bt = bs[as]
260+ let bs = J(bk)
261+ let bt = bs[I]
262262 if ((0 >= bt))
263263 then throw("You need staked lands to vote")
264264 else {
265- let bu = bs[ar]
266- let aU = getInteger(Z(U, bk))
265+ let bu = bs[H]
266+ let aU = getInteger(az(au, bk))
267267 let bv = if (!(isDefined(aU)))
268268 then 0
269- else o(Y(U, bk), 0)
269+ else o(ay(au, bk), 0)
270270 let bw = if (isDefined(aU))
271- then o(W(U, value(aU)), 0)
271+ then o(aw(au, value(aU)), 0)
272272 else 0
273- let bx = o(W(U, bj), 0)
274- let by = parseIntValue(bl[O])
273+ let bx = o(aw(au, bj), 0)
274+ let by = parseIntValue(bl[ao])
275275 let bz = if (!(isDefined(aU)))
276276 then 0
277277 else ((bw - bv) + (if ((value(aU) == bj))
278278 then bt
279279 else 0))
280280 let aX = if (if (isDefined(aU))
281281 then (value(aU) == bj)
282282 else false)
283283 then bz
284284 else (bx + bt)
285285 let bA = ((by - bv) + bt)
286- let bB = (bA >= parseIntValue(bm[M]))
287- let bC = o(aa(U), 0)
288- let bD = o(ab(), 0)
289- let bE = ((getIntegerValue(R()) - valueOrElse(getInteger(S()), J)) + 1)
286+ let bB = (bA >= parseIntValue(bm[am]))
287+ let bC = o(aA(au), 0)
288+ let bD = o(aB(), 0)
289+ let bE = ((getIntegerValue(ar()) - valueOrElse(getInteger(as()), aj)) + 1)
290290 let bF = if ((bv == 0))
291291 then 1
292292 else 0
293293 let bG = (bD + fraction(bF, e, bE))
294- let bH = o(ac(), 0)
294+ let bH = o(aC(), 0)
295295 let bI = (bH + ((bt - bv) / bE))
296296 let aT = if (!(isDefined(aU)))
297297 then true
298298 else (value(aU) == bj)
299299 let aV = if (aT)
300300 then nil
301- else [IntegerEntry(W(U, value(aU)), bz)]
302- let bJ = aR(U, bq, aT, aU, bz, bj, aX)
301+ else [IntegerEntry(aw(au, value(aU)), bz)]
302+ let bJ = aR(au, bq, aT, aU, bz, bj, aX)
303303 let bK = max([bo, o(D(bk), 0)])
304- $Tuple2(([IntegerEntry(Z(U, bk), bj), IntegerEntry(Y(U, bk), bt), IntegerEntry(W(U, bj), aX), IntegerEntry(aa(U), (bC + bF)), IntegerEntry(D(bk), bK), IntegerEntry(ab(), bG), IntegerEntry(ac(), bI), StringEntry(T(U), bb(bl[P], bB, bJ, bA))] ++ aV), unit)
304+ $Tuple2(([IntegerEntry(az(au, bk), bj), IntegerEntry(ay(au, bk), bt), IntegerEntry(aw(au, bj), aX), IntegerEntry(aA(au), (bC + bF)), IntegerEntry(D(bk), bK), IntegerEntry(aB(), bG), IntegerEntry(aC(), bI), StringEntry(at(au), bb(bl[ap], bB, bJ, bA))] ++ aV), unit)
305305 }
306306 }
307307 }
308308 }
309309 }
310310
311311
312312
313313 @Callable(bg)
314-func initiateVoting (al,an,ao,aS) = if ((bg.caller != this))
314+func initiateVoting (aL,aN,aO,aS) = if ((bg.caller != this))
315315 then throw("Permission denied")
316316 else if ((size(bg.payments) != 0))
317317 then throw("governance doesn't require any payments")
318318 else {
319- let ak = toBase58String(bg.transactionId)
320- if ((al == ""))
319+ let aK = toBase58String(bg.transactionId)
320+ if ((aL == ""))
321321 then throw("Title is empty")
322- else if ((size(al) > H))
322+ else if ((size(aL) > ah))
323323 then throw("Too long title")
324324 else {
325- let am = lastBlock.timestamp
326- if ((am > an))
327- then throw(((("votingStartTime=" + toString(an)) + " < proposalTime=") + toString(am)))
328- else if ((an > ao))
329- then throw(((("votingEndTime=" + toString(ao)) + " < votingStartTime=") + toString(an)))
330- else if (((ao - an) > I))
331- then throw(((("Voting period exceeds max: " + toString((ao - an))) + " > ") + toString(I)))
325+ let aM = lastBlock.timestamp
326+ if ((aM > aN))
327+ then throw(((("votingStartTime=" + toString(aN)) + " < proposalTime=") + toString(aM)))
328+ else if ((aN > aO))
329+ then throw(((("votingEndTime=" + toString(aO)) + " < votingStartTime=") + toString(aN)))
330+ else if (((aO - aN) > ai))
331+ then throw(((("Voting period exceeds max: " + toString((aO - aN))) + " > ") + toString(ai)))
332332 else if ((1 >= size(aS)))
333333 then throw("Too few choices to vote")
334334 else {
335- let bs = av("")
336- let bL = bs[ar]
337- let bM = o(Q(), G)
335+ let bs = J("")
336+ let bL = bs[H]
337+ let bM = o(aq(), ag)
338338 let bN = fraction(bM, bL, e)
339- let U = (o(R(), 0) + 1)
340- let bO = makeString(aS, F)
341- $Tuple2([IntegerEntry(R(), U), StringEntry(T(U), ad(false, 0, 0, 0, false)), StringEntry(V(U), aj(ak, toBase16String(toBytes(al)), am, an, ao, bN, bO))], ak)
339+ let au = (o(ar(), 0) + 1)
340+ let bO = makeString(aS, af)
341+ $Tuple2([IntegerEntry(ar(), au), StringEntry(at(au), aD(false, 0, 0, 0, false)), StringEntry(av(au), aJ(aK, toBase16String(toBytes(aL)), aM, aN, aO, bN, bO))], aK)
342342 }
343343 }
344344 }
345345
346346
347347
348348 @Callable(bg)
349-func cancelVoting (U) = if ((bg.caller != this))
349+func cancelVoting (au) = if ((bg.caller != this))
350350 then throw("not authorized")
351351 else {
352- let bP = l(this, T(U))
352+ let bP = l(this, at(au))
353353 let bQ = ((take(bP, value(lastIndexOf(bP, d))) + d) + "true")
354- $Tuple2([StringEntry(T(U), bQ)], unit)
354+ $Tuple2([StringEntry(at(au), bQ)], unit)
355355 }
356356
357357

github/deemru/w8io/c3f4982 
189.09 ms