tx · 3BchB5GD25f9aYn2zVd3n3zHXcoEiNgEYe8gB7nJhzaH

3N7dQeENwSgKPp9Ki4aEHhRWWKVjn1DE9Qg:  -0.00800000 Waves

2024.10.01 19:06 [3308008] smart account 3N7dQeENwSgKPp9Ki4aEHhRWWKVjn1DE9Qg > SELF 0.00000000 Waves

{ "type": 13, "id": "3BchB5GD25f9aYn2zVd3n3zHXcoEiNgEYe8gB7nJhzaH", "fee": 800000, "feeAssetId": null, "timestamp": 1727798778895, "version": 2, "chainId": 84, "sender": "3N7dQeENwSgKPp9Ki4aEHhRWWKVjn1DE9Qg", "senderPublicKey": "5BN6FQeKuMm2XJYToUZvbBX4UELGpE3Z47P4q6sP46PG", "proofs": [ "2EwWRzSifKPbBeRMA8257Sk4HSUkD3wZCqwP7JDqDXpWrv9WchCe2xHLwZ4LyYZ5nyfS1f2VarB3hrBY7r9XV4Er" ], "script": "base64:BgIdCAISBAoCCAESBAoCAQgSAwoBCBIDCgEBEgMKAQgvABRPTERfU1RBS0lOR19ERUFETElORQCY0IGrpDIABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgAQYWNyZXMyQWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1A0VUgzVDluWHBNTnBVbVNtUWpQbUV6M0c4NXQzem42ZUEDCQAAAgEBVAUHJG1hdGNoMAIjM05CUHgxRmNpdTNKUU5FR1oyMWpTblRkdXRMTkdHQlVTWGgJAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUOACAwtcvAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAARSWR4Q2ZnU3Rha2luZ0RhcHAAAQARSWR4Q2ZnRWNvbm9teURhcHAAAgANSWR4Q2ZnV2xnRGFwcAAEAA9JZHhDZmdBY3Jlc0RhcHAACAEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAAPZWNvbm9teUNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnRWNvbm9teURhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUNSWR4Q2ZnV2xnRGFwcAANYWNyZXNDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFD0lkeENmZ0FjcmVzRGFwcAAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUNYWNyZXNDb250cmFjdAUPYWNyZXNBc3NldElkS2V5AhdBQ1JFUyBpcyBub3QgaXNzdWVkIHlldAEYa2V5QWNyZXNTdGFrZWRUaW1lQnlVc2VyAQRhZGRyCQCsAgICFmFjcmVzU3Rha2VkVGltZUJ5VXNlcl8FBGFkZHIAC0lkeEVmZlRvdGFsAAABEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBQlvd25lckFkZHIBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEOYXNUd29JbnRzVHVwbGUBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCihJbnQsIEludCkEAnQyBQckbWF0Y2gwBQJ0MgkAAgECHGZhaWwgdG8gY2FzdCBpbnRvIChJbnQsIEludCkBDmdldFZvdGluZ1Bvd2VyARJ1c2VyQWRkclN0ck9yRW1wdHkEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5UmVzUHJvcG9ydGlvbnMAAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlcnNQb3dlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwBCmZpeGVkUG9pbnQCA3ZhbAhkZWNpbWFscwQGdGVuUG93CQBsBgAKAAAFCGRlY2ltYWxzAAAAAAUERE9XTgQHbG93UGFydAkApAMBCQBqAgUDdmFsBQZ0ZW5Qb3cEBnplcm9lcwkAsAICCQCkAwEFBnRlblBvdwkAZAIAAQkAsQIBBQdsb3dQYXJ0CQCsAgIJAKwCAgkArAICCQCkAwEJAGkCBQN2YWwFBnRlblBvdwIBLgUGemVyb2VzBQdsb3dQYXJ0AQlmaW5hbFRpbWUACQCXAwEJAMwIAggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgUUT0xEX1NUQUtJTkdfREVBRExJTkUFA25pbAAPREFJTFlSRVNCWVBJRUNFAID40gEAFVVTRFQyQUNSRVNfTVVMVElQTElFUgAKAAhNSUxMSU9ONgCAgOmDsd4WAAlEQVlNSUxMSVMAgLiZKQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyARprZXlBY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcgEEYWRkcgkArAICAhhhY3Jlc0xvY2tlZEFtb3VudEJ5VXNlcl8FBGFkZHIBF2tleUFjcmVzTG9ja2VkRXRhQnlVc2VyAQRhZGRyCQCsAgICFWFjcmVzTG9ja2VkRXRhQnlVc2VyXwUEYWRkcgATYWNyZXNTdGFrZWRUb3RhbEtleQIWYWNyZXNTdGFrZWRBbW91bnRUb3RhbAAMQkxBQ0tMSVNURUQxAt8GM1AyTkdYNFE1bmdlMU1DYXV3UVc1YXFZTGRrY2NTR2oxRXBfM1AyeEZBSFc5eWh5Tm9oWW96V2Q0SEZoRVhadTNic05Tb1JfM1AyeUthWjJndm45WGU1dHRpODFhN1A5TFpoSGdqdlRvVjlfM1AzN3pRM2NmMmVjdTU1Um1KcUVpR1NpdmR6TjlhdnQzbTlfM1A0YXo2ZHR6c3ZHQ1dGQXhhOTRVZGV2S3pYeUV3eEVpRkdfM1A0a1pVNlgzVFRMRmNTVWU1NUpTeThCeVNxaXRjUGdNQnpfM1A1aEN4QkVoM05nTml6WmhOQnJleUJTcXRiaEpZTGtLUERfM1A3SEx2dWN5MTF5eHlNSlV3anpYRkhIS01FRHdpMUV3ZkNfM1A4SnVhcUg5UFRRQXY4RDVIQkdnUWZLYXVMVFl0Mk5RZnRfM1A5Z1REQjRydERFVmJwWDNhc1U2M0g0WmluaDJFblRtWkVfM1A5aU4zcXJ0ZkppY1VWeTdhbVplVnNldFZEM3ZVTWs4YmVfM1BDYTJCc0FhNkpCTGlyc3pRZlY1cjlmSnJ1amZod3R3ZlBfM1BEM2k0WE44S3R5Z2NGeDRyeTVNN1VHcWRmSDhWWXZ0UlRfM1BERU1ubkpOYzJreDljUEVtdlZ2aFhVcjhTdmhBTktoc2FfM1BER0U5dEtRaXphZVpGZUREcTVhWVN2ODlud1liZmlycFpfM1BETUtRVENyVVBaRUNWWEVKSjhtMXNIdHV0U3UxbmFTZjFfM1BHaDJRdTZZdng4R1RDUlJWTnZCVVZaTGRhaWRZU2F4bzVfM1BLa21BdGJTSzVEMmhRZG8xUmZFZzhlWHlNYkRjUlVjOTJfM1BMTW5ieHpzc1A4VzhFOFhqSjFSTEJCZzhVWkw4Q3ozUDJfM1BNdXhvNFBDQW94OXM0YTdSMWVzemg0aXFxdThnUzdqSHZfM1BOck10RVFDaHc4N1daVTFKQUo3YUdIeWtDYThUam5ETktfM1BQdUJYZldvQnkzRUVvcnk3Yzd2Z2k5VXNqa2E3bzV0QmpfM1BRd3lleUVoVDRZNmFHQUw2dGc3M2FRV0p0VjF6UnQzblJfM1BSR0RTaHVNR2I4NE1KdFRKdnRUZzhxRGZzd2tZV2NtM2UADVBST01PMV9BTU9VTlQAwq2vAgETaXNCbGFja2xpc3RlZFByb21vMQEEYWRkcgkBCGNvbnRhaW5zAgUMQkxBQ0tMSVNURUQxBQRhZGRyARJjbGFpbUFjcmVzSW50ZXJuYWwDBGFkZHILYWNyZXNBbW91bnQNbGFzdENsYWltVGltZQQJZGVsdGFUaW1lCQBlAgkBCWZpbmFsVGltZQAFDWxhc3RDbGFpbVRpbWUECGF2YWlsUmVzCQBrAwUJZGVsdGFUaW1lCQBoAgUPREFJTFlSRVNCWVBJRUNFBQthY3Jlc0Ftb3VudAkAaAIFCURBWU1JTExJUwUFTVVMVDgECmNhbkdldFVzZHQJAQVhc0ludAEJAPwHBAUPZWNvbm9teUNvbnRyYWN0AhpzZWxsUmVzb3VyY2VzV29ybGRSRUFET05MWQkAzAgCBQhhdmFpbFJlcwUDbmlsBQNuaWwEB2dvdFVzZHQJAJYDAQkAzAgCAAAJAMwIAgUKY2FuR2V0VXNkdAUDbmlsCQBoAgUHZ290VXNkdAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSAQ1jbGFpbUludGVybmFsAwRhZGRyC2FjcmVzQW1vdW50DWxhc3RDbGFpbVRpbWUECWRlbHRhVGltZQkAZQIJAQlmaW5hbFRpbWUABQ1sYXN0Q2xhaW1UaW1lAwkAZgIAAAUJZGVsdGFUaW1lCQACAQkArAICCQCsAgIJAKwCAgImU2F2ZWQgdGltZXN0YW1wIGlzIGluIGZ1dHVyZSwgc2F2ZWQgPSAJAKQDAQUNbGFzdENsYWltVGltZQIKLCBmaW5hbCA9IAkApAMBCQEJZmluYWxUaW1lAAQIYXZhaWxSZXMJAGsDBQlkZWx0YVRpbWUJAGgCBQ9EQUlMWVJFU0JZUElFQ0UFC2FjcmVzQW1vdW50CQBoAgUJREFZTUlMTElTBQVNVUxUOAQKY2FuR2V0VXNkdAkBBWFzSW50AQkA/AcEBQ9lY29ub215Q29udHJhY3QCGnNlbGxSZXNvdXJjZXNXb3JsZFJFQURPTkxZCQDMCAIFCGF2YWlsUmVzBQNuaWwFA25pbAQHZ290VXNkdAMJAGcCAAAFCmNhbkdldFVzZHQAAAgJAQ5hc1R3b0ludHNUdXBsZQEJAPwHBAUPZWNvbm9teUNvbnRyYWN0AhJzZWxsUmVzb3VyY2VzV29ybGQJAMwIAgUEYWRkcgkAzAgCBQhhdmFpbFJlcwUDbmlsBQNuaWwCXzEJAGgCBQdnb3RVc2R0BRVVU0RUMkFDUkVTX01VTFRJUExJRVIBDnVuc3Rha2VBY3Jlc1JPAgZhbW91bnQHYWRkcmVzcwQHdGltZUtleQkBGGtleUFjcmVzU3Rha2VkVGltZUJ5VXNlcgEFB2FkZHJlc3MEDGNsYWltZWRBY3JlcwkBEmNsYWltQWNyZXNJbnRlcm5hbAMFB2FkZHJlc3MFBmFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd0aW1lS2V5AAAJAJQKAgUGYW1vdW50BQxjbGFpbWVkQWNyZXMFAWkBDWNvbnN0cnVjdG9yVjECCHJlc3RBZGRyDnVuc3Rha2VkUGllY2VzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQDCQEJaXNEZWZpbmVkAQkAoQgBBQ9hY3Jlc0Fzc2V0SWRLZXkJAAIBAhNBbHJlYWR5IGluaXRpYWxpemVkBAhuZnRBY3JlcwkAZAIJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQIABQtJZHhFZmZUb3RhbAUOdW5zdGFrZWRQaWVjZXMEDGlzc3VlZEFtb3VudAkAZQIFCE1JTExJT042CQBoAgUIbmZ0QWNyZXMFBU1VTFQ4BAVpc3N1ZQkAwwgHAgVBQ1JFUwImV2F2ZXNMYW5kcyBsYW5kIGFjcmVzIGludmVzdG1lbnQgdG9rZW4FDGlzc3VlZEFtb3VudAAIBwUEdW5pdAAABAdhc3NldElkCQC4CAEFBWlzc3VlCQDMCAIFBWlzc3VlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRhY3Jlc0lzc3VlZEFtb3VudEtleQUMaXNzdWVkQW1vdW50CQDMCAIJAQtCaW5hcnlFbnRyeQIFD2FjcmVzQXNzZXRJZEtleQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5UmVzdEFkZHJlc3MABQhyZXN0QWRkcgUDbmlsAWkBFHVuc3Rha2VBY3Jlc0NhbGxiYWNrAgZhbW91bnQHYWRkcmVzcwMJAQIhPQIJAKUIAQgFAWkGY2FsbGVyBRBhY3JlczJBZGRyZXNzU3RyCQACAQIRUGVybWlzc2lvbiBkZW5pZWQDCQBnAgAABQZhbW91bnQJAAIBAhlBbW91bnQgc2hvdWxkIGJlIHBvc2l0aXZlBAd0aW1lS2V5CQEYa2V5QWNyZXNTdGFrZWRUaW1lQnlVc2VyAQUHYWRkcmVzcwQJYW1vdW50S2V5CQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBQdhZGRyZXNzBA5vbGRBY3Jlc0Ftb3VudAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQlhbW91bnRLZXkAAAMJAGYCBQZhbW91bnQFDm9sZEFjcmVzQW1vdW50CQACAQkArAICCQCsAgIJAKwCAgIOWW91IGhhdmUgb25seSAJAQpmaXhlZFBvaW50AgUOb2xkQWNyZXNBbW91bnQACAIgIEFDUkVTIHN0YWtlZCwgdHJpZWQgdG8gdW5zdGFrZSAJAQpmaXhlZFBvaW50AgUGYW1vdW50AAgEDGxvY2tlZEFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEaa2V5QWNyZXNMb2NrZWRBbW91bnRCeVVzZXIBBQdhZGRyZXNzAAAECWxvY2tlZEVUQQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEXa2V5QWNyZXNMb2NrZWRFdGFCeVVzZXIBBQdhZGRyZXNzAAAEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAEEHVuc3Rha2FibGVBbW91bnQDCQETaXNCbGFja2xpc3RlZFByb21vMQEFB2FkZHJlc3MJAGUCCQBlAgUOb2xkQWNyZXNBbW91bnQFDGxvY2tlZEFtb3VudAUNUFJPTU8xX0FNT1VOVAkAZQIFDm9sZEFjcmVzQW1vdW50BQxsb2NrZWRBbW91bnQDAwkAZgIFCWxvY2tlZEVUQQUDbm93CQBmAgUGYW1vdW50BRB1bnN0YWthYmxlQW1vdW50BwkAAgEJAKwCAgkArAICCQCsAgICBU9ubHkgCQEKZml4ZWRQb2ludAIFEHVuc3Rha2FibGVBbW91bnQACAInIEFDUkVTIGNhbiBiZSB1bnN0YWtlZCBub3csIHdhaXQgdW50aWwgCQCkAwEFCWxvY2tlZEVUQQQIb2xkVG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUTYWNyZXNTdGFrZWRUb3RhbEtleQAABAl3bGdSZXN1bHQJAPwHBAULd2xnQ29udHJhY3QCEm9uU3Rha2VVbnN0YWtlTGFuZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAQMY2xhaW1lZEFjcmVzCQENY2xhaW1JbnRlcm5hbAMFB2FkZHJlc3MFDm9sZEFjcmVzQW1vdW50CQELdmFsdWVPckVsc2UCCQCfCAEFB3RpbWVLZXkAAAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQd0aW1lS2V5CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUJYW1vdW50S2V5CQBlAgUOb2xkQWNyZXNBbW91bnQFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUTYWNyZXNTdGFrZWRUb3RhbEtleQkAZQIFCG9sZFRvdGFsBQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQBkAgUGYW1vdW50BQxjbGFpbWVkQWNyZXMFDGFjcmVzQXNzZXRJZAUDbmlsCQCUCgIJAGQCBQZhbW91bnQFDGNsYWltZWRBY3JlcwUJd2xnUmVzdWx0AWkBF3Vuc3Rha2VBbGxBY3Jlc1JFQURPTkxZAQdhZGRyZXNzBAZhbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGmtleUFjcmVzU3Rha2VkQW1vdW50QnlVc2VyAQUHYWRkcmVzcwAABBN1bnN0YWtlZFdpdGhDbGFpbWVkCQEOdW5zdGFrZUFjcmVzUk8CBQZhbW91bnQFB2FkZHJlc3MJAJQKAgUDbmlsBRN1bnN0YWtlZFdpdGhDbGFpbWVkAWkBFHJlcXVlc3RBY3Jlc0NhbGxiYWNrAQZhbW91bnQEBmNhbGxlcggFAWkGY2FsbGVyAwMJAQIhPQIJAKUIAQUGY2FsbGVyBRBhY3JlczJBZGRyZXNzU3RyCQECIT0CBQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAcJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUGYW1vdW50BQxhY3Jlc0Fzc2V0SWQFA25pbAUGYW1vdW50AWkBEmNsYWltQWNyZXNSRUFET05MWQEHYWRkcmVzcwQHdGltZUtleQkBGGtleUFjcmVzU3Rha2VkVGltZUJ5VXNlcgEFB2FkZHJlc3MECWFtb3VudEtleQkBGmtleUFjcmVzU3Rha2VkQW1vdW50QnlVc2VyAQUHYWRkcmVzcwQLYWNyZXNBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJYW1vdW50S2V5AAAECGxhc3RUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFB3RpbWVLZXkAAAQMY2xhaW1lZEFjcmVzCQESY2xhaW1BY3Jlc0ludGVybmFsAwUHYWRkcmVzcwULYWNyZXNBbW91bnQFCGxhc3RUaW1lCQCUCgIFA25pbAkAzAgCBQxjbGFpbWVkQWNyZXMJAMwIAgUIbGFzdFRpbWUFA25pbABOB7w/", "height": 3308008, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2jGDdtqxis5m52qzjswowB72TUw7E1ZMY8vbnryyBigh Next: EUCjGU24MAifd5Qkm1PNfpGW6Xpje1ecv7hXGKn7GPxn Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = take(drop(this.bytes, 1), 1)
4+let a = 1727740799000
55
6-let b = {
7- let c = a
8- if ((base58'2W' == c))
6+let b = take(drop(this.bytes, 1), 1)
7+
8+let c = {
9+ let d = b
10+ if ((base58'2W' == d))
911 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
10- else if ((base58'2T' == c))
12+ else if ((base58'2T' == d))
1113 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
1214 else throw("Unknown chain")
1315 }
1416
15-let d = {
16- let c = a
17- if ((base58'2W' == c))
17+let e = {
18+ let d = b
19+ if ((base58'2W' == d))
1820 then "3P4UH3T9nXpMNpUmSmQjPmEz3G85t3zn6eA"
19- else if ((base58'2T' == c))
21+ else if ((base58'2T' == d))
2022 then "3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh"
2123 else throw("Unknown chain")
2224 }
2325
24-let e = "__"
26+let f = "__"
2527
26-let f = 100000000
28+let g = 100000000
2729
28-func g (h,i) = valueOrErrorMessage(getString(h, i), makeString(["mandatory ", toString(h), ".", i, " is not defined"], ""))
30+func h (i,j) = valueOrErrorMessage(getString(i, j), makeString(["mandatory ", toString(i), ".", j, " is not defined"], ""))
2931
3032
31-let j = 1
33+let k = 1
3234
33-let k = 2
35+let l = 2
3436
35-let l = 4
37+let m = 4
3638
37-let m = 8
39+let n = 8
3840
39-func n () = "%s__restConfig"
41+func o () = "%s__restConfig"
4042
4143
42-func o () = "%s__restAddr"
44+func p () = "%s__restAddr"
4345
4446
45-func p (q) = split_4C(g(q, n()), e)
47+func q (r) = split_4C(h(r, o()), f)
4648
4749
48-func r (s,t) = valueOrErrorMessage(addressFromString(s[t]), ("Rest cfg doesn't contain address at index " + toString(t)))
50+func s (t,u) = valueOrErrorMessage(addressFromString(t[u]), ("Rest cfg doesn't contain address at index " + toString(u)))
4951
5052
51-let u = addressFromStringValue(valueOrElse(getString(this, o()), b))
53+let v = addressFromStringValue(valueOrElse(getString(this, p()), c))
5254
53-let s = p(u)
55+let t = q(v)
5456
55-let v = r(s, j)
57+let w = s(t, k)
5658
57-let w = r(s, k)
59+let x = s(t, l)
5860
59-let x = r(s, l)
61+let y = s(t, m)
6062
61-let y = r(s, m)
63+let z = s(t, n)
6264
63-let z = "acresIssuedAmount"
65+let A = "acresIssuedAmount"
6466
65-let A = "acresAssetId"
67+let B = "acresAssetId"
6668
67-let B = valueOrErrorMessage(getBinary(y, A), "ACRES is not issued yet")
69+let C = valueOrErrorMessage(getBinary(z, B), "ACRES is not issued yet")
6870
69-func C (D) = ("acresStakedTimeByUser_" + D)
71+func D (E) = ("acresStakedTimeByUser_" + E)
7072
7173
72-let E = 0
74+let F = 0
7375
74-func F () = "resTypesProportions"
76+func G () = "resTypesProportions"
7577
7678
77-func G (H) = ("stakedPiecesByOwner_" + H)
79+func H (I) = ("stakedPiecesByOwner_" + I)
7880
7981
80-func I (J) = {
81- let c = J
82- if ($isInstanceOf(c, "Int"))
82+func J (K) = {
83+ let d = K
84+ if ($isInstanceOf(d, "Int"))
8385 then {
84- let K = c
85- K
86+ let L = d
87+ L
8688 }
8789 else throw("fail to cast into Int")
8890 }
8991
9092
91-func L (M) = {
92- let c = M
93- if ($isInstanceOf(c, "(Int, Int)"))
93+func M (N) = {
94+ let d = N
95+ if ($isInstanceOf(d, "(Int, Int)"))
9496 then {
95- let N = c
96- N
97+ let O = d
98+ O
9799 }
98100 else throw("fail to cast into (Int, Int)")
99101 }
100102
101103
102-func O (P) = {
103- let Q = split(valueOrElse(getString(v, F()), "0_0_0_0_0_0"), "_")
104- func R (S,T) = (S + parseIntValue(T))
104+func P (Q) = {
105+ let R = split(valueOrElse(getString(w, G()), "0_0_0_0_0_0"), "_")
106+ func S (T,U) = (T + parseIntValue(U))
105107
106- let U = {
107- let V = Q
108- let W = size(V)
109- let X = 0
110- func Y (Z,aa) = if ((aa >= W))
111- then Z
112- else R(Z, V[aa])
108+ let V = {
109+ let W = R
110+ let X = size(W)
111+ let Y = 0
112+ func Z (aa,ab) = if ((ab >= X))
113+ then aa
114+ else S(aa, W[ab])
113115
114- func ab (Z,aa) = if ((aa >= W))
115- then Z
116+ func ac (aa,ab) = if ((ab >= X))
117+ then aa
116118 else throw("List size exceeds 6")
117119
118- ab(Y(Y(Y(Y(Y(Y(X, 0), 1), 2), 3), 4), 5), 6)
120+ ac(Z(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5), 6)
119121 }
120- let ac = valueOrElse(getInteger(v, G(P)), 0)
121-[U, ac]
122+ let ad = valueOrElse(getInteger(w, H(Q)), 0)
123+[V, ad]
122124 }
123125
124126
125-func ad (M,ae) = {
126- let af = pow(10, 0, ae, 0, 0, DOWN)
127- let ag = toString((M % af))
128- let ah = drop(toString(af), (1 + size(ag)))
129- (((toString((M / af)) + ".") + ah) + ag)
127+func ae (N,af) = {
128+ let ag = pow(10, 0, af, 0, 0, DOWN)
129+ let ah = toString((N % ag))
130+ let ai = drop(toString(ag), (1 + size(ah)))
131+ (((toString((N / ag)) + ".") + ai) + ah)
130132 }
131133
132134
133-func ai () = min([lastBlock.timestamp, 1727740799000])
135+func aj () = min([lastBlock.timestamp, a])
134136
135137
136-let aj = 3456000
138+let ak = 3456000
137139
138-let ak = 10
140+let al = 10
139141
140-let al = 100000000000000
142+let am = 100000000000000
141143
142-let am = 86400000
144+let an = 86400000
143145
144-func an (D) = ("acresStakedAmountByUser_" + D)
146+func ao (E) = ("acresStakedAmountByUser_" + E)
145147
146148
147-func ao (D) = ("acresLockedAmountByUser_" + D)
149+func ap (E) = ("acresLockedAmountByUser_" + E)
148150
149151
150-func ap (D) = ("acresLockedEtaByUser_" + D)
152+func aq (E) = ("acresLockedEtaByUser_" + E)
151153
152154
153-let aq = "acresStakedAmountTotal"
155+let ar = "acresStakedAmountTotal"
154156
155-let ar = "3P2NGX4Q5nge1MCauwQW5aqYLdkccSGj1Ep_3P2xFAHW9yhyNohYozWd4HFhEXZu3bsNSoR_3P2yKaZ2gvn9Xe5tti81a7P9LZhHgjvToV9_3P37zQ3cf2ecu55RmJqEiGSivdzN9avt3m9_3P4az6dtzsvGCWFAxa94UdevKzXyEwxEiFG_3P4kZU6X3TTLFcSUe55JSy8BySqitcPgMBz_3P5hCxBEh3NgNizZhNBreyBSqtbhJYLkKPD_3P7HLvucy11yxyMJUwjzXFHHKMEDwi1EwfC_3P8JuaqH9PTQAv8D5HBGgQfKauLTYt2NQft_3P9gTDB4rtDEVbpX3asU63H4Zinh2EnTmZE_3P9iN3qrtfJicUVy7amZeVsetVD3vUMk8be_3PCa2BsAa6JBLirszQfV5r9fJrujfhwtwfP_3PD3i4XN8KtygcFx4ry5M7UGqdfH8VYvtRT_3PDEMnnJNc2kx9cPEmvVvhXUr8SvhANKhsa_3PDGE9tKQizaeZFeDDq5aYSv89nwYbfirpZ_3PDMKQTCrUPZECVXEJJ8m1sHtutSu1naSf1_3PGh2Qu6Yvx8GTCRRVNvBUVZLdaidYSaxo5_3PKkmAtbSK5D2hQdo1RfEg8eXyMbDcRUc92_3PLMnbxzssP8W8E8XjJ1RLBBg8UZL8Cz3P2_3PMuxo4PCAox9s4a7R1eszh4iqqu8gS7jHv_3PNrMtEQChw87WZU1JAJ7aGHykCa8TjnDNK_3PPuBXfWoBy3EEory7c7vgi9Usjka7o5tBj_3PQwyeyEhT4Y6aGAL6tg73aQWJtV1zRt3nR_3PRGDShuMGb84MJtTJvtTg8qDfswkYWcm3e"
157+let as = "3P2NGX4Q5nge1MCauwQW5aqYLdkccSGj1Ep_3P2xFAHW9yhyNohYozWd4HFhEXZu3bsNSoR_3P2yKaZ2gvn9Xe5tti81a7P9LZhHgjvToV9_3P37zQ3cf2ecu55RmJqEiGSivdzN9avt3m9_3P4az6dtzsvGCWFAxa94UdevKzXyEwxEiFG_3P4kZU6X3TTLFcSUe55JSy8BySqitcPgMBz_3P5hCxBEh3NgNizZhNBreyBSqtbhJYLkKPD_3P7HLvucy11yxyMJUwjzXFHHKMEDwi1EwfC_3P8JuaqH9PTQAv8D5HBGgQfKauLTYt2NQft_3P9gTDB4rtDEVbpX3asU63H4Zinh2EnTmZE_3P9iN3qrtfJicUVy7amZeVsetVD3vUMk8be_3PCa2BsAa6JBLirszQfV5r9fJrujfhwtwfP_3PD3i4XN8KtygcFx4ry5M7UGqdfH8VYvtRT_3PDEMnnJNc2kx9cPEmvVvhXUr8SvhANKhsa_3PDGE9tKQizaeZFeDDq5aYSv89nwYbfirpZ_3PDMKQTCrUPZECVXEJJ8m1sHtutSu1naSf1_3PGh2Qu6Yvx8GTCRRVNvBUVZLdaidYSaxo5_3PKkmAtbSK5D2hQdo1RfEg8eXyMbDcRUc92_3PLMnbxzssP8W8E8XjJ1RLBBg8UZL8Cz3P2_3PMuxo4PCAox9s4a7R1eszh4iqqu8gS7jHv_3PNrMtEQChw87WZU1JAJ7aGHykCa8TjnDNK_3PPuBXfWoBy3EEory7c7vgi9Usjka7o5tBj_3PQwyeyEhT4Y6aGAL6tg73aQWJtV1zRt3nR_3PRGDShuMGb84MJtTJvtTg8qDfswkYWcm3e"
156158
157-let as = 4970178
159+let at = 4970178
158160
159-func at (D) = contains(ar, D)
161+func au (E) = contains(as, E)
160162
161163
162-func au (D,av,aw) = {
163- let ax = (ai() - aw)
164- let ay = fraction(ax, (aj * av), (am * f))
165- let az = I(invoke(w, "sellResourcesWorldREADONLY", [ay], nil))
166- let aA = max([0, az])
167- (aA * ak)
164+func av (E,aw,ax) = {
165+ let ay = (aj() - ax)
166+ let az = fraction(ay, (ak * aw), (an * g))
167+ let aA = J(invoke(x, "sellResourcesWorldREADONLY", [az], nil))
168+ let aB = max([0, aA])
169+ (aB * al)
168170 }
169171
170172
171-func aB (D,av,aw) = {
172- let ax = (ai() - aw)
173- if ((0 > ax))
174- then throw(((("Saved timestamp is in future, saved = " + toString(aw)) + ", final = ") + toString(ai())))
173+func aC (E,aw,ax) = {
174+ let ay = (aj() - ax)
175+ if ((0 > ay))
176+ then throw(((("Saved timestamp is in future, saved = " + toString(ax)) + ", final = ") + toString(aj())))
175177 else {
176- let ay = fraction(ax, (aj * av), (am * f))
177- let az = I(invoke(w, "sellResourcesWorldREADONLY", [ay], nil))
178- let aA = if ((0 >= az))
178+ let az = fraction(ay, (ak * aw), (an * g))
179+ let aA = J(invoke(x, "sellResourcesWorldREADONLY", [az], nil))
180+ let aB = if ((0 >= aA))
179181 then 0
180- else L(invoke(w, "sellResourcesWorld", [D, ay], nil))._1
181- (aA * ak)
182+ else M(invoke(x, "sellResourcesWorld", [E, az], nil))._1
183+ (aB * al)
182184 }
183185 }
184186
185187
186-func aC (aD,h) = {
187- let aE = C(h)
188- let aF = au(h, aD, valueOrElse(getInteger(aE), 0))
189- $Tuple2(aD, aF)
188+func aD (aE,i) = {
189+ let aF = D(i)
190+ let aG = av(i, aE, valueOrElse(getInteger(aF), 0))
191+ $Tuple2(aE, aG)
190192 }
191193
192194
193-@Callable(aG)
194-func constructorV1 (aH,aI) = if ((aG.caller != this))
195+@Callable(aH)
196+func constructorV1 (aI,aJ) = if ((aH.caller != this))
195197 then throw("Permission denied")
196- else if (isDefined(getBinary(A)))
198+ else if (isDefined(getBinary(B)))
197199 then throw("Already initialized")
198200 else {
199- let aJ = (O("")[E] + aI)
200- let aK = (al - (aJ * f))
201- let aL = Issue("ACRES", "WavesLands land acres investment token", aK, 8, false, unit, 0)
202- let aM = calculateAssetId(aL)
203-[aL, IntegerEntry(z, aK), BinaryEntry(A, aM), StringEntry(o(), aH)]
201+ let aK = (P("")[F] + aJ)
202+ let aL = (am - (aK * g))
203+ let aM = Issue("ACRES", "WavesLands land acres investment token", aL, 8, false, unit, 0)
204+ let aN = calculateAssetId(aM)
205+[aM, IntegerEntry(A, aL), BinaryEntry(B, aN), StringEntry(p(), aI)]
204206 }
205207
206208
207209
208-@Callable(aG)
209-func unstakeAcresCallback (aD,h) = if ((toString(aG.caller) != d))
210+@Callable(aH)
211+func unstakeAcresCallback (aE,i) = if ((toString(aH.caller) != e))
210212 then throw("Permission denied")
211- else if ((0 >= aD))
213+ else if ((0 >= aE))
212214 then throw("Amount should be positive")
213215 else {
214- let aE = C(h)
215- let aN = an(h)
216- let aO = valueOrElse(getInteger(aN), 0)
217- if ((aD > aO))
218- then throw(((("You have only " + ad(aO, 8)) + " ACRES staked, tried to unstake ") + ad(aD, 8)))
216+ let aF = D(i)
217+ let aO = ao(i)
218+ let aP = valueOrElse(getInteger(aO), 0)
219+ if ((aE > aP))
220+ then throw(((("You have only " + ae(aP, 8)) + " ACRES staked, tried to unstake ") + ae(aE, 8)))
219221 else {
220- let aP = valueOrElse(getInteger(ao(h)), 0)
221- let aQ = valueOrElse(getInteger(ap(h)), 0)
222- let aR = lastBlock.timestamp
223- let aS = if (at(h))
224- then ((aO - aP) - as)
225- else (aO - aP)
226- if (if ((aQ > aR))
227- then (aD > aS)
222+ let aQ = valueOrElse(getInteger(ap(i)), 0)
223+ let aR = valueOrElse(getInteger(aq(i)), 0)
224+ let aS = lastBlock.timestamp
225+ let aT = if (au(i))
226+ then ((aP - aQ) - at)
227+ else (aP - aQ)
228+ if (if ((aR > aS))
229+ then (aE > aT)
228230 else false)
229- then throw(((("Only " + ad(aS, 8)) + " ACRES can be unstaked now, wait until ") + toString(aQ)))
231+ then throw(((("Only " + ae(aT, 8)) + " ACRES can be unstaked now, wait until ") + toString(aR)))
230232 else {
231- let aT = valueOrElse(getInteger(aq), 0)
232- let aU = invoke(x, "onStakeUnstakeLand", [h], nil)
233- let aF = aB(h, aO, valueOrElse(getInteger(aE), 0))
234- $Tuple2([IntegerEntry(aE, lastBlock.timestamp), IntegerEntry(aN, (aO - aD)), IntegerEntry(aq, (aT - aD)), ScriptTransfer(aG.caller, (aD + aF), B)], $Tuple2((aD + aF), aU))
233+ let aU = valueOrElse(getInteger(ar), 0)
234+ let aV = invoke(y, "onStakeUnstakeLand", [i], nil)
235+ let aG = aC(i, aP, valueOrElse(getInteger(aF), 0))
236+ $Tuple2([IntegerEntry(aF, lastBlock.timestamp), IntegerEntry(aO, (aP - aE)), IntegerEntry(ar, (aU - aE)), ScriptTransfer(aH.caller, (aE + aG), C)], $Tuple2((aE + aG), aV))
235237 }
236238 }
237239 }
238240
239241
240242
241-@Callable(aG)
242-func unstakeAllAcresREADONLY (h) = {
243- let aD = valueOrElse(getInteger(an(h)), 0)
244- let aV = aC(aD, h)
245- $Tuple2(nil, aV)
243+@Callable(aH)
244+func unstakeAllAcresREADONLY (i) = {
245+ let aE = valueOrElse(getInteger(ao(i)), 0)
246+ let aW = aD(aE, i)
247+ $Tuple2(nil, aW)
246248 }
247249
248250
249251
250-@Callable(aG)
251-func requestAcresCallback (aD) = {
252- let aW = aG.caller
253- if (if ((toString(aW) != d))
254- then (aW != v)
252+@Callable(aH)
253+func requestAcresCallback (aE) = {
254+ let aX = aH.caller
255+ if (if ((toString(aX) != e))
256+ then (aX != w)
255257 else false)
256258 then throw("Permission denied")
257- else $Tuple2([ScriptTransfer(aW, aD, B)], aD)
259+ else $Tuple2([ScriptTransfer(aX, aE, C)], aE)
258260 }
259261
260262
261263
262-@Callable(aG)
263-func claimAcresREADONLY (h) = {
264- let aE = C(h)
265- let aN = an(h)
266- let av = valueOrElse(getInteger(aN), 0)
267- let aX = valueOrElse(getInteger(aE), 0)
268- let aF = au(h, av, aX)
269- $Tuple2(nil, [aF, aX])
264+@Callable(aH)
265+func claimAcresREADONLY (i) = {
266+ let aF = D(i)
267+ let aO = ao(i)
268+ let aw = valueOrElse(getInteger(aO), 0)
269+ let aY = valueOrElse(getInteger(aF), 0)
270+ let aG = av(i, aw, aY)
271+ $Tuple2(nil, [aG, aY])
270272 }
271273
272274

github/deemru/w8io/026f985 
88.97 ms