tx · 53M6FQUSbp5Y1Zxr2eRXfquntmLipG9eGNbnmF4fxjug

3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2:  -0.01200000 Waves

2023.07.11 00:49 [2660374] smart account 3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2 > SELF 0.00000000 Waves

{ "type": 13, "id": "53M6FQUSbp5Y1Zxr2eRXfquntmLipG9eGNbnmF4fxjug", "fee": 1200000, "feeAssetId": null, "timestamp": 1689025867269, "version": 2, "chainId": 84, "sender": "3N6oQmUanp4TWuHnv5rma4WveVub63JRFB2", "senderPublicKey": "EM2pooK6eEzhzFXZFGd2phMRus6f1M5GxBsawNk9oi37", "proofs": [ "2FoFy11LvqZLUAKBXQ937wuuwgSvFqW4BAdmyCd8if9jmSmmsyAf35gnoEdyFjL6brcje16ibeJCzp7pwdMXVuGF" ], "script": "base64:BgIbCAISBAoCCAESBAoCAQESBgoECAEBGBIDCgEBNQEVa2V5VXNlckd3bFJlbGVhc2VUaW1lAQh1c2VyQWRkcgkArAICAholcyVzX191c2VyR3dsUmVsZWFzZVRpbWVfXwUIdXNlckFkZHIABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgADU0VQAgJfXwAFTVVMVDYAwIQ9AAVTU0laRQAZAAVNU0laRQBkAAVMU0laRQDhAQAGWExTSVpFAJADAAdYWExTSVpFAPEEAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAEMZ2V0SW50T3JFbHNlAgNrZXkKZGVmYXVsdFZhbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkFCmRlZmF1bHRWYWwAEUlkeENmZ1N0YWtpbmdEYXBwAAEBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAC3JlY0xhbmRTaXplAAEAC0lkeEVmZlRvdGFsAAAACklkeEVmZlVzZXIAAQERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBDmdldFZvdGluZ1Bvd2VyARJ1c2VyQWRkclN0ck9yRW1wdHkEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5UmVzUHJvcG9ydGlvbnMAAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlz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QVhWT1RJTkdUSU1FAICQ5MAEABRERUZBVUxURklSU1RQUk9QT1NBTAABAAtnb3ZJZHhTdGFydAAEAAlnb3ZJZHhFbmQABQAMZ292SWR4UXVvcnVtAAYADWdvdklkeE9wdGlvbnMABwAWZ292U3RhdHVzSWR4VG90YWxWb3RlcwAEABZnb3ZTdGF0dXNJZHhJc0NhbmNlbGVkAAUBGGtleVF1b3J1bVJlcXVpcmVkUGVyY2VudAACEiVzX19xdW9ydW1SZXF1aXJlZAERa2V5TGFzdFByb3Bvc2FsSWQAAg4lc19fcHJvcG9zYWxJZAESa2V5Rmlyc3RQcm9wb3NhbElkAAITJXNfX2ZpcnN0UHJvcG9zYWxJZAEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEKcHJvcG9zYWxJZAkArAICAholcyVkX19wcm9wb3NhbFN0YXR1c0RhdGFfXwkApAMBBQpwcm9wb3NhbElkARNrZXlQcm9wb3NhbERhdGFCeUlkAQpwcm9wb3NhbElkCQCsAgICFCVzJWRfX3Byb3Bvc2FsRGF0YV9fCQCkAwEFCnByb3Bvc2FsSWQBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgpwcm9wb3NhbElkA29wdAkAuQkCCQDMCAICBiVzJWQlZAkAzAgCAgp2b3Rlc0J5T3B0CQDMCAIJAKQDAQUKcHJvcG9zYWxJZAkAzAgCCQCkAwEFA29wdAUDbmlsBQNTRVABG2tleVByb3Bvc2FsVm90ZXNCeUlkQW5kVXNlcgIKcHJvcG9zYWxJZAh1c2VyQWRkcgkAuQkCCQDMCAICBiVzJWQlcwkAzAgCAgt2b3Rlc0J5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQARxrZXlQcm9wb3NhbENob2ljZUJ5SWRBbmRVc2VyAgpwcm9wb3NhbElkCHVzZXJBZGRyCQC5CQIJAMwIAgIGJXMlZCVzCQDMCAICDG9wdGlvbkJ5VXNlcgkAzAgCCQCkAwEFCnByb3Bvc2FsSWQJAMwIAgUIdXNlckFkZHIFA25pbAUDU0VQAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBCnByb3Bvc2FsSWQJAKwCAgIRJXMlZF9fbnVtVm90ZXJzX18JAKQDAQUKcHJvcG9zYWxJZAEYa2V5U3RhdHNBdmVyVW5pcXVlVm90ZXJzAAIgJXMlcyVzX19zdGF0c19fYXZnX191bmlxdWVWb3RlcnMBFGtleVN0YXRzQXZlckd3bFZvdGVkAAIcJXMlcyVzX19zdGF0c19fYXZnX19nd2xWb3RlZAEKc3RhdHVzRGF0YQUNaXNWb3RpbmdWYWxpZAl3aW5PcHRpb24Od2luT3B0aW9uVm90ZXMKdG90YWxWb3Rlcw5jYW5jZWxlZEJ5VGVhbQkAuQkCCQDMCAICCiViJWQlZCVkJWIJAMwIAgkApQMBBQ1pc1ZvdGluZ1ZhbGlkCQDMCAIJAKQDAQUJd2luT3B0aW9uCQDMCAIJAKQDAQUOd2luT3B0aW9uVm90ZXMJAMwIAgkApAMBBQp0b3RhbFZvdGVzCQDMCAIJAKUDAQUOY2FuY2VsZWRCeVRlYW0FA25pbAUDU0VQAQxwcm9wb3NhbERhdGEHDHByb3Bvc2FsVHhJZAV0aXRsZQxwcm9wb3NhbFRpbWUPdm90aW5nU3RhcnRUaW1lDXZvdGluZ0VuZFRpbWULcXVvcnVtSW5Hd2wHb3B0aW9ucwkAugkCCQDMCAICDiVzJXMlZCVkJWQlZCVzCQDMCAIFDHByb3Bvc2FsVHhJZAkAzAgCBQV0aXRsZQkAzAgCCQCkAwEFDHByb3Bvc2FsVGltZQkAzAgCCQCkAwEFD3ZvdGluZ1N0YXJ0VGltZQkAzAgCCQCkAwEFDXZvdGluZ0VuZFRpbWUJAMwIAgkApAMBBQtxdW9ydW1Jbkd3bAkAzAgCBQdvcHRpb25zBQNuaWwFA1NFUAENY2FsY1dpbk9wdGlvbgcKcHJvcG9zYWxJZAtvcHRpb25zTGlzdA5pc1ByZXZPcHRpb25hbAlvbGRDaG9pY2UQb3B0aW9uYWxUb3RhbE9sZAluZXdDaG9pY2UTbmV3VG90YWxCeU5ld0Nob2ljZQoBCGZpbmRCZXN0AgNhY2MEZWxlbQQDaWR4CQEFdmFsdWUBCQDPCAIFC29wdGlvbnNMaXN0BQRlbGVtBAN2YWwDBQ5pc1ByZXZPcHRpb25hbAMJAAACBQNpZHgFCW5ld0Nob2ljZQUTbmV3VG90YWxCeU5ld0Nob2ljZQkBDGdldEludE9yRWxzZQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQFA2lkeAAAAwkAAAIFA2lkeAkBBXZhbHVlAQUJb2xkQ2hvaWNlBRBvcHRpb25hbFRvdGFsT2xkAwkAAAIFA2lkeAUJbmV3Q2hvaWNlBRNuZXdUb3RhbEJ5TmV3Q2hvaWNlCQEMZ2V0SW50T3JFbHNlAgkBHWtleVByb3Bvc2FsVm90ZXNCeUlkQW5kT3B0aW9uAgUKcHJvcG9zYWxJZAUDaWR4AAADCQBmAggFA2FjYwJfMgUDdmFsBQNhY2MJAJQKAgUDaWR4BQN2YWwKAAIkbAULb3B0aW9uc0xpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmaW5kQmVzdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEQdXBkYXRlU3RhdHVzRGF0YQQNaXNDYW5jZWxlZFN0cgdpc1ZhbGlkCW5ld1dpbk9wdA1uZXdUb3RhbFZvdGVzCQC5CQIJAMwIAgIKJWIlZCVkJWQlYgkAzAgCCQClAwEFB2lzVmFsaWQJAMwIAgkApAMBCAUJbmV3V2luT3B0Al8xCQDMCAIJAKQDAQgFCW5ld1dpbk9wdAJfMgkAzAgCCQCkAwEFDW5ld1RvdGFsVm90ZXMJAMwIAgUNaXNDYW5jZWxlZFN0cgUDbmlsBQNTRVAEAWkBDWNvbnN0cnVjdG9yVjECCHJlc3RBZGRyDXF1b3J1bVJlcVBlcmMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MABQhyZXN0QWRkcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleVF1b3J1bVJlcXVpcmVkUGVyY2VudAAFDXF1b3J1bVJlcVBlcmMFA25pbAFpAQhjYXN0Vm90ZQIKcHJvcG9zYWxJZAZjaG9pY2UEDnVzZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQLZHluYW1pY0RhdGEJALUJAgkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJARlrZXlQcm9wb3NhbFN0YXR1c0RhdGFCeUlkAQUKcHJvcG9zYWxJZAUDU0VQAwkAAAIJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeElzQ2FuY2VsZWQCBHRydWUJAAIBAhpWb3RpbmcgaXMgY2FuY2VsZWQgYnkgdGVhbQQIcHJvcERhdGEJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJARNrZXlQcm9wb3NhbERhdGFCeUlkAQUKcHJvcG9zYWxJZAUDU0VQBAVzdGFydAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHByb3BEYXRhBQtnb3ZJZHhTdGFydAQDZW5kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIcHJvcERhdGEFCWdvdklkeEVuZAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQVzdGFydAUDbm93CQACAQIWVm90aW5nIG5vdCBzdGFydGVkIHlldAMJAGcCBQNub3cFA2VuZAkAAgECF1ZvdGluZyBhbHJlYWR5IGZpbmlzaGVkBBBhdmFpbGFibGVPcHRpb25zCQC1CQIJAJEDAgUIcHJvcERhdGEFDWdvdklkeE9wdGlvbnMFB0xJU1RTRVAECm51bU9wdGlvbnMJAJADAQUQYXZhaWxhYmxlT3B0aW9ucwMJAGcCAAEFCm51bU9wdGlvbnMJAAIBAhdUb28gZmV3IGNob2ljZXMgdG8gdm90ZQMJAGcCBQZjaG9pY2UFCm51bU9wdGlvbnMJAAIBCQCsAgICG1Vua25vd24gY2hvaWNlISBNdXN0IGJlIDAuLgkApAMBCQBlAgUKbnVtT3B0aW9ucwABBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzU3RyBAZnd2xBbXQJAJEDAgUDZWZmBQpJZHhFZmZVc2VyAwkAZwIAAAUGZ3dsQW10CQACAQIdWW91IG5lZWQgc3Rha2VkIGxhbmRzIHRvIHZvdGUECGd3bFRvdGFsCQCRAwIFA2VmZgULSWR4RWZmVG90YWwECW9sZENob2ljZQkAnwgBCQEca2V5UHJvcG9zYWxDaG9pY2VCeUlkQW5kVXNlcgIFCnByb3Bvc2FsSWQFDnVzZXJBZGRyZXNzU3RyBAxvbGRVc2VyVm90ZXMDCQEBIQEJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UAAAkBDGdldEludE9yRWxzZQIJARtrZXlQcm9wb3NhbFZvdGVzQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgAABBNvbGRUb3RhbEJ5T2xkQ2hvaWNlAwkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQkBDGdldEludE9yRWxzZQIJAR1rZXlQcm9wb3NhbFZvdGVzQnlJZEFuZE9wdGlvbgIFCnByb3Bvc2FsSWQJAQV2YWx1ZQEFCW9sZENob2ljZQAAAAAEE29sZFRvdGFsQnlOZXdDaG9pY2UJAQxnZXRJbnRPckVsc2UCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQZjaG9pY2UAAAQIb2xkVG90YWwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQtkeW5hbWljRGF0YQUWZ292U3RhdHVzSWR4VG90YWxWb3RlcwQTbmV3VG90YWxCeU9sZENob2ljZQMJAQEhAQkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQAACQBkAgkAZQIFE29sZFRvdGFsQnlPbGRDaG9pY2UFDG9sZFVzZXJWb3RlcwMJAAACCQEFdmFsdWUBBQlvbGRDaG9pY2UFBmNob2ljZQUGZ3dsQW10AAAEE25ld1RvdGFsQnlOZXdDaG9pY2UDAwkBCWlzRGVmaW5lZAEFCW9sZENob2ljZQkAAAIJAQV2YWx1ZQEFCW9sZENob2ljZQUGY2hvaWNlBwUTbmV3VG90YWxCeU9sZENob2ljZQkAZAIFE29sZFRvdGFsQnlOZXdDaG9pY2UFBmd3bEFtdAQIbmV3VG90YWwJAGQCCQBlAgUIb2xkVG90YWwFDG9sZFVzZXJWb3RlcwUGZ3dsQW10BA9pc1F1b3J1bVJlYWNoZWQJAGcCBQhuZXdUb3RhbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCHByb3BEYXRhBQxnb3ZJZHhRdW9ydW0EFW51bVZvdGVyc0J5UHJvcG9zYWxJZAkBDGdldEludE9yRWxzZQIJAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBBQpwcm9wb3NhbElkAAAEFG9sZEF2ZXJVbmlxdWVWb3RlcnM2CQEMZ2V0SW50T3JFbHNlAgkBGGtleVN0YXRzQXZlclVuaXF1ZVZvdGVycwAAAAQMbnVtUHJvcG9zYWxzCQBkAgkAZQIJARFAZXh0ck5hdGl2ZSgxMDU1KQEJARFrZXlMYXN0UHJvcG9zYWxJZAAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUZpcnN0UHJvcG9zYWxJZAAFFERFRkFVTFRGSVJTVFBST1BPU0FMAAEECnVuaXF1ZURpZmYDCQAAAgUMb2xkVXNlclZvdGVzAAAAAQAABBRuZXdBdmVyVW5pcXVlVm90ZXJzNgkAZAIFFG9sZEF2ZXJVbmlxdWVWb3RlcnM2CQBrAwUKdW5pcXVlRGlmZgUFTVVMVDYFDG51bVByb3Bvc2FscwQKb2xkQXZlckd3bAkBDGdldEludE9yRWxzZQIJARRrZXlTdGF0c0F2ZXJHd2xWb3RlZAAAAAQKbmV3QXZlckd3bAkAZAIFCm9sZEF2ZXJHd2wJAGkCCQBlAgUGZ3dsQW10BQxvbGRVc2VyVm90ZXMFDG51bVByb3Bvc2FscwQOaXNQcmV2T3B0aW9uYWwDCQEBIQEJAQlpc0RlZmluZWQBBQlvbGRDaG9pY2UGCQAAAgkBBXZhbHVlAQUJb2xkQ2hvaWNlBQZjaG9pY2UEEG9wdGlvbmFsVG90YWxPbGQDBQ5pc1ByZXZPcHRpb25hbAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkCQEFdmFsdWUBBQlvbGRDaG9pY2UFE25ld1RvdGFsQnlPbGRDaG9pY2UFA25pbAQGd2luT3B0CQENY2FsY1dpbk9wdGlvbgcFCnByb3Bvc2FsSWQFEGF2YWlsYWJsZU9wdGlvbnMFDmlzUHJldk9wdGlvbmFsBQlvbGRDaG9pY2UFE25ld1RvdGFsQnlPbGRDaG9pY2UFBmNob2ljZQUTbmV3VG90YWxCeU5ld0Nob2ljZQQLcmVsZWFzZVRpbWUJAJYDAQkAzAgCBQNlbmQJAMwIAgkBDGdldEludE9yRWxzZQIJARVrZXlVc2VyR3dsUmVsZWFzZVRpbWUBBQ51c2VyQWRkcmVzc1N0cgAABQNuaWwJAJQKAgkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEca2V5UHJvcG9zYWxDaG9pY2VCeUlkQW5kVXNlcgIFCnByb3Bvc2FsSWQFDnVzZXJBZGRyZXNzU3RyBQZjaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARtrZXlQcm9wb3NhbFZvdGVzQnlJZEFuZFVzZXICBQpwcm9wb3NhbElkBQ51c2VyQWRkcmVzc1N0cgUGZ3dsQW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEda2V5UHJvcG9zYWxWb3Rlc0J5SWRBbmRPcHRpb24CBQpwcm9wb3NhbElkBQZjaG9pY2UFE25ld1RvdGFsQnlOZXdDaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJAR5rZXlOdW1VbmlxdWVWb3RlcnNCeVByb3Bvc2FsSWQBBQpwcm9wb3NhbElkCQBkAgUVbnVtVm90ZXJzQnlQcm9wb3NhbElkBQp1bmlxdWVEaWZmCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVa2V5VXNlckd3bFJlbGVhc2VUaW1lAQUOdXNlckFkZHJlc3NTdHIFC3JlbGVhc2VUaW1lCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5U3RhdHNBdmVyVW5pcXVlVm90ZXJzAAUUbmV3QXZlclVuaXF1ZVZvdGVyczYJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlTdGF0c0F2ZXJHd2xWb3RlZAAFCm5ld0F2ZXJHd2wJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleVByb3Bvc2FsU3RhdHVzRGF0YUJ5SWQBBQpwcm9wb3NhbElkCQEQdXBkYXRlU3RhdHVzRGF0YQQJAJEDAgULZHluYW1pY0RhdGEFFmdvdlN0YXR1c0lkeElzQ2FuY2VsZWQFD2lzUXVvcnVtUmVhY2hlZAUGd2luT3B0BQhuZXdUb3RhbAUDbmlsBRBvcHRpb25hbFRvdGFsT2xkBQR1bml0AWkBDmluaXRpYXRlVm90aW5nBAV0aXRsZQ92b3RpbmdTdGFydFRpbWUNdm90aW5nRW5kVGltZQtvcHRpb25zTGlzdAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQInZ292ZXJuYW5jZSBkb2Vzbid0IHJlcXVpcmUgYW55IHBheW1lbnRzBAxwcm9wb3NhbFR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAMJAAACBQV0aXRsZQIACQACAQIOVGl0bGUgaXMgZW1wdHkDCQBmAgkAsQIBBQV0aXRsZQUITUFYVElUTEUJAAIBAg5Ub28gbG9uZyB0aXRsZQQMcHJvcG9zYWxUaW1lCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAGYCBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQkAAgEJAKwCAgkArAICCQCsAgICEHZvdGluZ1N0YXJ0VGltZT0JAKQDAQUPdm90aW5nU3RhcnRUaW1lAhAgPCBwcm9wb3NhbFRpbWU9CQCkAwEFDHByb3Bvc2FsVGltZQMJAGYCBQ92b3RpbmdTdGFydFRpbWUFDXZvdGluZ0VuZFRpbWUJAAIBCQCsAgIJAKwCAgkArAICAg52b3RpbmdFbmRUaW1lPQkApAMBBQ12b3RpbmdFbmRUaW1lAhMgPCB2b3RpbmdTdGFydFRpbWU9CQCkAwEFD3ZvdGluZ1N0YXJ0VGltZQMJAGYCCQBlAgUNdm90aW5nRW5kVGltZQUPdm90aW5nU3RhcnRUaW1lBQ1NQVhWT1RJTkdUSU1FCQACAQkArAICCQCsAgIJAKwCAgIbVm90aW5nIHBlcmlvZCBleGNlZWRzIG1heDogCQCkAwEJAGUCBQ12b3RpbmdFbmRUaW1lBQ92b3RpbmdTdGFydFRpbWUCAyA+IAkApAMBBQ1NQVhWT1RJTkdUSU1FAwkAZwIAAQkAkAMBBQtvcHRpb25zTGlzdAkAAgECF1RvbyBmZXcgY2hvaWNlcyB0byB2b3RlBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgECAAQMZ1BpZWNlc1RvdGFsCQCRAwIFA2VmZgULSWR4RWZmVG90YWwEBnF1b3J1bQkBDGdldEludE9yRWxzZQIJARhrZXlRdW9ydW1SZXF1aXJlZFBlcmNlbnQABQ1ERUZBVUxUUVVPUlVNBA9xdW9ydW1JbkdwaWVjZXMJAGsDBQZxdW9ydW0FDGdQaWVjZXNUb3RhbAUFTVVMVDYECnByb3Bvc2FsSWQJAGQCCQEMZ2V0SW50T3JFbHNlAgkBEWtleUxhc3RQcm9wb3NhbElkAAAAAAEECm9wdGlvbnNTdHIJALkJAgULb3B0aW9uc0xpc3QFB0xJU1RTRVAJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEWtleUxhc3RQcm9wb3NhbElkAAUKcHJvcG9zYWxJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQJAQpzdGF0dXNEYXRhBQcAAAAAAAAHCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlQcm9wb3NhbERhdGFCeUlkAQUKcHJvcG9zYWxJZAkBDHByb3Bvc2FsRGF0YQcFDHByb3Bvc2FsVHhJZAkA3AQBCQCbAwEFBXRpdGxlBQxwcm9wb3NhbFRpbWUFD3ZvdGluZ1N0YXJ0VGltZQUNdm90aW5nRW5kVGltZQUPcXVvcnVtSW5HcGllY2VzBQpvcHRpb25zU3RyBQNuaWwFDHByb3Bvc2FsVHhJZAFpAQxjYW5jZWxWb3RpbmcBCnByb3Bvc2FsSWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg5ub3QgYXV0aG9yaXplZAQLY3VycmVudERhdGEJAQ9nZXRTdHJpbmdPckZhaWwCBQR0aGlzCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQEC3VwZGF0ZWREYXRhCQCsAgIJAKwCAgkArwICBQtjdXJyZW50RGF0YQkBBXZhbHVlAQkAtwkCBQtjdXJyZW50RGF0YQUDU0VQBQNTRVACBHRydWUJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQEZa2V5UHJvcG9zYWxTdGF0dXNEYXRhQnlJZAEFCnByb3Bvc2FsSWQFC3VwZGF0ZWREYXRhBQNuaWwFBHVuaXQA1lptOQ==", "height": 2660374, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8ntMWPr84s9hnvJSjZPWBt7EZnpFXJKDGN1oz7EJYywh Next: 2YfvDASrDncA3vvQYGybYuFy6KQx1LxoiZryUDKi3B1r Diff:
OldNewDifferences
44 func a (b) = ("%s%s__userGwlReleaseTime__" + b)
55
66
7-let c = 0
7+let c = take(drop(this.bytes, 1), 1)
88
9-let d = 1
10-
11-let e = take(drop(this.bytes, 1), 1)
12-
13-let f = {
14- let g = e
15- if ((base58'2W' == g))
9+let d = {
10+ let e = c
11+ if ((base58'2W' == e))
1612 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
17- else if ((base58'2T' == g))
13+ else if ((base58'2T' == e))
1814 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
1915 else throw("Unknown chain")
2016 }
2117
22-let h = "__"
18+let f = "__"
2319
24-let i = 1000000
20+let g = 1000000
2521
26-let j = 25
22+let h = 25
2723
28-let k = 100
24+let i = 100
2925
30-let l = 225
26+let j = 225
3127
32-let m = 400
28+let k = 400
3329
34-let n = 625
30+let l = 625
3531
36-func o (p,q) = valueOrErrorMessage(getString(p, q), makeString(["mandatory ", toString(p), ".", q, " is not defined"], ""))
32+func m (n,o) = valueOrErrorMessage(getString(n, o), makeString(["mandatory ", toString(n), ".", o, " is not defined"], ""))
3733
3834
39-func r (q,s) = valueOrElse(getInteger(this, q), s)
35+func p (o,q) = valueOrElse(getInteger(this, o), q)
4036
4137
42-let t = 1
38+let r = 1
4339
44-func u () = "%s__restConfig"
40+func s () = "%s__restConfig"
4541
4642
47-func v () = "%s__restAddr"
43+func t () = "%s__restAddr"
4844
4945
50-func w (x) = split_4C(o(x, u()), h)
46+func u (v) = split_4C(m(v, s()), f)
5147
5248
53-func y (z,A) = valueOrErrorMessage(addressFromString(z[A]), ("Rest cfg doesn't contain address at index " + toString(A)))
49+func w (x,y) = valueOrErrorMessage(addressFromString(x[y]), ("Rest cfg doesn't contain address at index " + toString(y)))
5450
5551
56-let B = addressFromStringValue(valueOrElse(getString(this, v()), f))
52+let z = addressFromStringValue(valueOrElse(getString(this, t()), d))
5753
58-let z = w(B)
54+let x = u(z)
5955
60-let C = y(z, t)
56+let A = w(x, r)
57+
58+let B = 1
59+
60+let C = 0
6161
6262 let D = 1
6363
6868
6969
7070 func H (I) = {
71- let g = I
72- if (("S" == g))
73- then j
74- else if (("M" == g))
75- then k
76- else if (("L" == g))
77- then l
78- else if (("XL" == g))
79- then m
80- else if (("XXL" == g))
81- then n
71+ let e = I
72+ if (("S" == e))
73+ then h
74+ else if (("M" == e))
75+ then i
76+ else if (("L" == e))
77+ then j
78+ else if (("XL" == e))
79+ then k
80+ else if (("XXL" == e))
81+ then l
8282 else throw("Unknown land size")
8383 }
8484
8585
8686 func J (K) = {
87- let L = split(valueOrElse(getString(C, E()), "0_0_0_0_0_0"), "_")
87+ let L = split(valueOrElse(getString(A, E()), "0_0_0_0_0_0"), "_")
8888 func M (N,O) = (N + parseIntValue(O))
8989
9090 let P = {
104104 let X = if ((K == ""))
105105 then 0
106106 else {
107- let Y = getString(C, F(K))
107+ let Y = getString(A, F(K))
108108 let Z = if (isDefined(Y))
109109 then split_51C(value(Y), "_")
110110 else nil
111111 func aa (N,ab) = {
112112 let ac = value(assetInfo(fromBase58String(ab)))
113- let I = split(ac.description, "_")[D]
113+ let I = split(ac.description, "_")[B]
114114 (N + H(I))
115115 }
116116
168168 func av (au) = ("%s%d__proposalData__" + toString(au))
169169
170170
171-func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], h)
171+func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], f)
172172
173173
174-func ay (au,b) = makeString(["%s%d%s", "votesByUser", toString(au), b], h)
174+func ay (au,b) = makeString(["%s%d%s", "votesByUser", toString(au), b], f)
175175
176176
177-func az (au,b) = makeString(["%s%d%s", "optionByUser", toString(au), b], h)
177+func az (au,b) = makeString(["%s%d%s", "optionByUser", toString(au), b], f)
178178
179179
180180 func aA (au) = ("%s%d__numVoters__" + toString(au))
186186 func aC () = "%s%s%s__stats__avg__gwlVoted"
187187
188188
189-func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], h)
189+func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], f)
190190
191191
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], h)
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], f)
193193
194194
195195 func aR (au,aS,aT,aU,aV,aW,aX) = {
196196 func aY (N,aZ) = {
197- let A = value(indexOf(aS, aZ))
197+ let y = value(indexOf(aS, aZ))
198198 let ba = if (aT)
199- then if ((A == aW))
199+ then if ((y == aW))
200200 then aX
201- else r(aw(au, A), 0)
202- else if ((A == value(aU)))
201+ else p(aw(au, y), 0)
202+ else if ((y == value(aU)))
203203 then aV
204- else if ((A == aW))
204+ else if ((y == aW))
205205 then aX
206- else r(aw(au, A), 0)
206+ else p(aw(au, y), 0)
207207 if ((N._2 > ba))
208208 then N
209- else $Tuple2(A, ba)
209+ else $Tuple2(y, ba)
210210 }
211211
212212 let Q = aS
224224 }
225225
226226
227-func bb (bc,bd,be,bf) = makeString(["%b%d%d%d%b", toString(bd), toString(be._1), toString(be._2), toString(bf), bc], h)
227+func bb (bc,bd,be,bf) = makeString(["%b%d%d%d%b", toString(bd), toString(be._1), toString(be._2), toString(bf), bc], f)
228228
229229
230230 @Callable(bg)
231231 func constructorV1 (bh,bi) = if ((bg.caller != this))
232232 then throw("Permission denied")
233- else [StringEntry(v(), bh), IntegerEntry(aq(), bi)]
233+ else [StringEntry(t(), bh), IntegerEntry(aq(), bi)]
234234
235235
236236
237237 @Callable(bg)
238238 func castVote (au,bj) = {
239239 let bk = toString(bg.caller)
240- let bl = split(o(this, at(au)), h)
240+ let bl = split(m(this, at(au)), f)
241241 if ((bl[ap] == "true"))
242242 then throw("Voting is canceled by team")
243243 else {
244- let bm = split_4C(o(this, av(au)), h)
244+ let bm = split_4C(m(this, av(au)), f)
245245 let bn = parseIntValue(bm[ak])
246246 let bo = parseIntValue(bm[al])
247247 let bp = lastBlock.timestamp
258258 then throw(("Unknown choice! Must be 0.." + toString((br - 1))))
259259 else {
260260 let bs = J(bk)
261- let bt = bs[d]
261+ let bt = bs[D]
262262 if ((0 >= bt))
263263 then throw("You need staked lands to vote")
264264 else {
265- let bu = bs[c]
265+ let bu = bs[C]
266266 let aU = getInteger(az(au, bk))
267267 let bv = if (!(isDefined(aU)))
268268 then 0
269- else r(ay(au, bk), 0)
269+ else p(ay(au, bk), 0)
270270 let bw = if (isDefined(aU))
271- then r(aw(au, value(aU)), 0)
271+ then p(aw(au, value(aU)), 0)
272272 else 0
273- let bx = r(aw(au, bj), 0)
273+ let bx = p(aw(au, bj), 0)
274274 let by = parseIntValue(bl[ao])
275275 let bz = if (!(isDefined(aU)))
276276 then 0
284284 else (bx + bt)
285285 let bA = ((by - bv) + bt)
286286 let bB = (bA >= parseIntValue(bm[am]))
287- let bC = r(aA(au), 0)
288- let bD = r(aB(), 0)
287+ let bC = p(aA(au), 0)
288+ let bD = p(aB(), 0)
289289 let bE = ((getIntegerValue(ar()) - valueOrElse(getInteger(as()), aj)) + 1)
290290 let bF = if ((bv == 0))
291291 then 1
292292 else 0
293- let bG = (bD + fraction(bF, i, bE))
294- let bH = r(aC(), 0)
293+ let bG = (bD + fraction(bF, g, bE))
294+ let bH = p(aC(), 0)
295295 let bI = (bH + ((bt - bv) / bE))
296296 let aT = if (!(isDefined(aU)))
297297 then true
300300 then nil
301301 else [IntegerEntry(aw(au, value(aU)), bz)]
302302 let bJ = aR(au, bq, aT, aU, bz, bj, aX)
303- let bK = max([bo, r(a(bk), 0)])
303+ let bK = max([bo, p(a(bk), 0)])
304304 $Tuple2(([IntegerEntry(az(au, bk), bj), IntegerEntry(ay(au, bk), bt), IntegerEntry(aw(au, bj), aX), IntegerEntry(aA(au), (bC + bF)), IntegerEntry(a(bk), bK), IntegerEntry(aB(), bG), IntegerEntry(aC(), bI), StringEntry(at(au), bb(bl[ap], bB, bJ, bA))] ++ aV), unit)
305305 }
306306 }
333333 then throw("Too few choices to vote")
334334 else {
335335 let bs = J("")
336- let bL = bs[c]
337- let bM = r(aq(), ag)
338- let bN = fraction(bM, bL, i)
339- let au = (r(ar(), 0) + 1)
336+ let bL = bs[C]
337+ let bM = p(aq(), ag)
338+ let bN = fraction(bM, bL, g)
339+ let au = (p(ar(), 0) + 1)
340340 let bO = makeString(aS, af)
341341 $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 }
349349 func cancelVoting (au) = if ((bg.caller != this))
350350 then throw("not authorized")
351351 else {
352- let bP = o(this, at(au))
353- let bQ = ((take(bP, value(lastIndexOf(bP, h))) + h) + "true")
352+ let bP = m(this, at(au))
353+ let bQ = ((take(bP, value(lastIndexOf(bP, f))) + f) + "true")
354354 $Tuple2([StringEntry(at(au), bQ)], unit)
355355 }
356356
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = ("%s%s__userGwlReleaseTime__" + b)
55
66
7-let c = 0
7+let c = take(drop(this.bytes, 1), 1)
88
9-let d = 1
10-
11-let e = take(drop(this.bytes, 1), 1)
12-
13-let f = {
14- let g = e
15- if ((base58'2W' == g))
9+let d = {
10+ let e = c
11+ if ((base58'2W' == e))
1612 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
17- else if ((base58'2T' == g))
13+ else if ((base58'2T' == e))
1814 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
1915 else throw("Unknown chain")
2016 }
2117
22-let h = "__"
18+let f = "__"
2319
24-let i = 1000000
20+let g = 1000000
2521
26-let j = 25
22+let h = 25
2723
28-let k = 100
24+let i = 100
2925
30-let l = 225
26+let j = 225
3127
32-let m = 400
28+let k = 400
3329
34-let n = 625
30+let l = 625
3531
36-func o (p,q) = valueOrErrorMessage(getString(p, q), makeString(["mandatory ", toString(p), ".", q, " is not defined"], ""))
32+func m (n,o) = valueOrErrorMessage(getString(n, o), makeString(["mandatory ", toString(n), ".", o, " is not defined"], ""))
3733
3834
39-func r (q,s) = valueOrElse(getInteger(this, q), s)
35+func p (o,q) = valueOrElse(getInteger(this, o), q)
4036
4137
42-let t = 1
38+let r = 1
4339
44-func u () = "%s__restConfig"
40+func s () = "%s__restConfig"
4541
4642
47-func v () = "%s__restAddr"
43+func t () = "%s__restAddr"
4844
4945
50-func w (x) = split_4C(o(x, u()), h)
46+func u (v) = split_4C(m(v, s()), f)
5147
5248
53-func y (z,A) = valueOrErrorMessage(addressFromString(z[A]), ("Rest cfg doesn't contain address at index " + toString(A)))
49+func w (x,y) = valueOrErrorMessage(addressFromString(x[y]), ("Rest cfg doesn't contain address at index " + toString(y)))
5450
5551
56-let B = addressFromStringValue(valueOrElse(getString(this, v()), f))
52+let z = addressFromStringValue(valueOrElse(getString(this, t()), d))
5753
58-let z = w(B)
54+let x = u(z)
5955
60-let C = y(z, t)
56+let A = w(x, r)
57+
58+let B = 1
59+
60+let C = 0
6161
6262 let D = 1
6363
6464 func E () = "resTypesProportions"
6565
6666
6767 func F (G) = ("stakedLandsByOwner_" + G)
6868
6969
7070 func H (I) = {
71- let g = I
72- if (("S" == g))
73- then j
74- else if (("M" == g))
75- then k
76- else if (("L" == g))
77- then l
78- else if (("XL" == g))
79- then m
80- else if (("XXL" == g))
81- then n
71+ let e = I
72+ if (("S" == e))
73+ then h
74+ else if (("M" == e))
75+ then i
76+ else if (("L" == e))
77+ then j
78+ else if (("XL" == e))
79+ then k
80+ else if (("XXL" == e))
81+ then l
8282 else throw("Unknown land size")
8383 }
8484
8585
8686 func J (K) = {
87- let L = split(valueOrElse(getString(C, E()), "0_0_0_0_0_0"), "_")
87+ let L = split(valueOrElse(getString(A, E()), "0_0_0_0_0_0"), "_")
8888 func M (N,O) = (N + parseIntValue(O))
8989
9090 let P = {
9191 let Q = L
9292 let R = size(Q)
9393 let S = 0
9494 func T (U,V) = if ((V >= R))
9595 then U
9696 else M(U, Q[V])
9797
9898 func W (U,V) = if ((V >= R))
9999 then U
100100 else throw("List size exceeds 6")
101101
102102 W(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6)
103103 }
104104 let X = if ((K == ""))
105105 then 0
106106 else {
107- let Y = getString(C, F(K))
107+ let Y = getString(A, F(K))
108108 let Z = if (isDefined(Y))
109109 then split_51C(value(Y), "_")
110110 else nil
111111 func aa (N,ab) = {
112112 let ac = value(assetInfo(fromBase58String(ab)))
113- let I = split(ac.description, "_")[D]
113+ let I = split(ac.description, "_")[B]
114114 (N + H(I))
115115 }
116116
117117 let Q = Z
118118 let R = size(Q)
119119 let S = 0
120120 func ad (U,V) = if ((V >= R))
121121 then U
122122 else aa(U, Q[V])
123123
124124 func ae (U,V) = if ((V >= R))
125125 then U
126126 else throw("List size exceeds 100")
127127
128128 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)
129129 }
130130 [P, X]
131131 }
132132
133133
134134 let af = ":"
135135
136136 let ag = 500000
137137
138138 let ah = 250
139139
140140 let ai = 1209600000
141141
142142 let aj = 1
143143
144144 let ak = 4
145145
146146 let al = 5
147147
148148 let am = 6
149149
150150 let an = 7
151151
152152 let ao = 4
153153
154154 let ap = 5
155155
156156 func aq () = "%s__quorumRequired"
157157
158158
159159 func ar () = "%s__proposalId"
160160
161161
162162 func as () = "%s__firstProposalId"
163163
164164
165165 func at (au) = ("%s%d__proposalStatusData__" + toString(au))
166166
167167
168168 func av (au) = ("%s%d__proposalData__" + toString(au))
169169
170170
171-func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], h)
171+func aw (au,ax) = makeString(["%s%d%d", "votesByOpt", toString(au), toString(ax)], f)
172172
173173
174-func ay (au,b) = makeString(["%s%d%s", "votesByUser", toString(au), b], h)
174+func ay (au,b) = makeString(["%s%d%s", "votesByUser", toString(au), b], f)
175175
176176
177-func az (au,b) = makeString(["%s%d%s", "optionByUser", toString(au), b], h)
177+func az (au,b) = makeString(["%s%d%s", "optionByUser", toString(au), b], f)
178178
179179
180180 func aA (au) = ("%s%d__numVoters__" + toString(au))
181181
182182
183183 func aB () = "%s%s%s__stats__avg__uniqueVoters"
184184
185185
186186 func aC () = "%s%s%s__stats__avg__gwlVoted"
187187
188188
189-func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], h)
189+func aD (aE,aF,aG,aH,aI) = makeString(["%b%d%d%d%b", toString(aE), toString(aF), toString(aG), toString(aH), toString(aI)], f)
190190
191191
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], h)
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], f)
193193
194194
195195 func aR (au,aS,aT,aU,aV,aW,aX) = {
196196 func aY (N,aZ) = {
197- let A = value(indexOf(aS, aZ))
197+ let y = value(indexOf(aS, aZ))
198198 let ba = if (aT)
199- then if ((A == aW))
199+ then if ((y == aW))
200200 then aX
201- else r(aw(au, A), 0)
202- else if ((A == value(aU)))
201+ else p(aw(au, y), 0)
202+ else if ((y == value(aU)))
203203 then aV
204- else if ((A == aW))
204+ else if ((y == aW))
205205 then aX
206- else r(aw(au, A), 0)
206+ else p(aw(au, y), 0)
207207 if ((N._2 > ba))
208208 then N
209- else $Tuple2(A, ba)
209+ else $Tuple2(y, ba)
210210 }
211211
212212 let Q = aS
213213 let R = size(Q)
214214 let S = $Tuple2(0, 0)
215215 func T (U,V) = if ((V >= R))
216216 then U
217217 else aY(U, Q[V])
218218
219219 func W (U,V) = if ((V >= R))
220220 then U
221221 else throw("List size exceeds 10")
222222
223223 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
227-func bb (bc,bd,be,bf) = makeString(["%b%d%d%d%b", toString(bd), toString(be._1), toString(be._2), toString(bf), bc], h)
227+func bb (bc,bd,be,bf) = makeString(["%b%d%d%d%b", toString(bd), toString(be._1), toString(be._2), toString(bf), bc], f)
228228
229229
230230 @Callable(bg)
231231 func constructorV1 (bh,bi) = if ((bg.caller != this))
232232 then throw("Permission denied")
233- else [StringEntry(v(), bh), IntegerEntry(aq(), bi)]
233+ else [StringEntry(t(), bh), IntegerEntry(aq(), bi)]
234234
235235
236236
237237 @Callable(bg)
238238 func castVote (au,bj) = {
239239 let bk = toString(bg.caller)
240- let bl = split(o(this, at(au)), h)
240+ let bl = split(m(this, at(au)), f)
241241 if ((bl[ap] == "true"))
242242 then throw("Voting is canceled by team")
243243 else {
244- let bm = split_4C(o(this, av(au)), h)
244+ let bm = split_4C(m(this, av(au)), f)
245245 let bn = parseIntValue(bm[ak])
246246 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 {
253253 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 {
260260 let bs = J(bk)
261- let bt = bs[d]
261+ let bt = bs[D]
262262 if ((0 >= bt))
263263 then throw("You need staked lands to vote")
264264 else {
265- let bu = bs[c]
265+ let bu = bs[C]
266266 let aU = getInteger(az(au, bk))
267267 let bv = if (!(isDefined(aU)))
268268 then 0
269- else r(ay(au, bk), 0)
269+ else p(ay(au, bk), 0)
270270 let bw = if (isDefined(aU))
271- then r(aw(au, value(aU)), 0)
271+ then p(aw(au, value(aU)), 0)
272272 else 0
273- let bx = r(aw(au, bj), 0)
273+ let bx = p(aw(au, bj), 0)
274274 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)
286286 let bB = (bA >= parseIntValue(bm[am]))
287- let bC = r(aA(au), 0)
288- let bD = r(aB(), 0)
287+ let bC = p(aA(au), 0)
288+ let bD = p(aB(), 0)
289289 let bE = ((getIntegerValue(ar()) - valueOrElse(getInteger(as()), aj)) + 1)
290290 let bF = if ((bv == 0))
291291 then 1
292292 else 0
293- let bG = (bD + fraction(bF, i, bE))
294- let bH = r(aC(), 0)
293+ let bG = (bD + fraction(bF, g, bE))
294+ let bH = p(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
301301 else [IntegerEntry(aw(au, value(aU)), bz)]
302302 let bJ = aR(au, bq, aT, aU, bz, bj, aX)
303- let bK = max([bo, r(a(bk), 0)])
303+ let bK = max([bo, p(a(bk), 0)])
304304 $Tuple2(([IntegerEntry(az(au, bk), bj), IntegerEntry(ay(au, bk), bt), IntegerEntry(aw(au, bj), aX), IntegerEntry(aA(au), (bC + bF)), IntegerEntry(a(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)
314314 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 {
319319 let aK = toBase58String(bg.transactionId)
320320 if ((aL == ""))
321321 then throw("Title is empty")
322322 else if ((size(aL) > ah))
323323 then throw("Too long title")
324324 else {
325325 let aM = lastBlock.timestamp
326326 if ((aM > aN))
327327 then throw(((("votingStartTime=" + toString(aN)) + " < proposalTime=") + toString(aM)))
328328 else if ((aN > aO))
329329 then throw(((("votingEndTime=" + toString(aO)) + " < votingStartTime=") + toString(aN)))
330330 else if (((aO - aN) > ai))
331331 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 {
335335 let bs = J("")
336- let bL = bs[c]
337- let bM = r(aq(), ag)
338- let bN = fraction(bM, bL, i)
339- let au = (r(ar(), 0) + 1)
336+ let bL = bs[C]
337+ let bM = p(aq(), ag)
338+ let bN = fraction(bM, bL, g)
339+ let au = (p(ar(), 0) + 1)
340340 let bO = makeString(aS, af)
341341 $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)
349349 func cancelVoting (au) = if ((bg.caller != this))
350350 then throw("not authorized")
351351 else {
352- let bP = o(this, at(au))
353- let bQ = ((take(bP, value(lastIndexOf(bP, h))) + h) + "true")
352+ let bP = m(this, at(au))
353+ let bQ = ((take(bP, value(lastIndexOf(bP, f))) + f) + "true")
354354 $Tuple2([StringEntry(at(au), bQ)], unit)
355355 }
356356
357357

github/deemru/w8io/c3f4982 
96.05 ms