tx · CHgYFmgf7FyQfZSVTYNKVTAN6q3ey6uUCAUWGipqP3mx

3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh:  -0.01600000 Waves

2024.11.11 01:54 [3365978] smart account 3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh > SELF 0.00000000 Waves

{ "type": 13, "id": "CHgYFmgf7FyQfZSVTYNKVTAN6q3ey6uUCAUWGipqP3mx", "fee": 1600000, "feeAssetId": null, "timestamp": 1731279306145, "version": 2, "chainId": 84, "sender": "3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh", "senderPublicKey": "3QtfC1XbLZXdeawMDeSERy9vvjUmj1XYd2GFmrvx7pWQ", "proofs": [ "4QLKWZGr55XT2GmsTWmJMdwhr4gqhaKc6eSnFX8BtytPY672wErBPJ1qJF63xZ3J2TAj4R9cpRCvHRLnyS6eMWEk" ], "script": "base64:BgI3CAISABIECgIICBIDCgEEEgMKAQESABIAEgMKAQESABIECgIIARIAEgMKAQgSAwoBCBIECgIIATgAA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDcAgK3iBAAFTVVMVDgAgMLXLwAKREFZX01JTExJUwCAuJkpABVVU0RUMkFDUkVTX01VTFRJUExJRVIACgATT05FX1BFUkNFTlRfRElWSVNPUgBkAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BGd1l0YThiaUV6MzF6cGVGZTVESks4d0U1dHJTcFFWRjgDCQAAAgEBVAUHJG1hdGNoMAIjM043VXVZYXI2MjY0UDU4RkJoVldLUFFBaDRZdWEyaGduZ3YJAAIBAg1Vbmtub3duIGNoYWluABVvbGRTdGFraW5nQ29udHJhY3RTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQTG5jWHRTMVU4M0Q2Y1FiRkQzSDhyQkhQTGd6eFNGS1oxAwkAAAIBAVQFByRtYXRjaDACIzNOREN5Qkc1cTg1SnVhUmlpZ1VlRXRhaW55akNRVDNYcFptCQACAQINVW5rbm93biBjaGFpbgEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEElkeENmZ0FjcmVzMkRhcHAAAQANSWR4Q2ZnV2xnRGFwcAACABRJZHhDZmdJbnZlc3RGdW5kRGFwcAAFAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBD2tleVJlc3QyQWRkcmVzcwACDSVzX19yZXN0MkFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAghyZXN0MkNmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFCHJlc3QyQ2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAANcmVzdDJDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEPa2V5UmVzdDJBZGRyZXNzAAUWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgAIcmVzdDJDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDXJlc3QyQ29udHJhY3QADmFjcmVzMkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFEElkeENmZ0FjcmVzMkRhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFDUlkeENmZ1dsZ0RhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAATb2xkQWNyZXNDb250cmFjdEtleQIQb2xkQWNyZXNDb250cmFjdAEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNy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BQAGAAcACAAJAAoBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBWFjcmVzCQBoAgkAaAIFBWFjcmVzABQJAGQCCQEPZ2V0TGV2ZWxCeUFjcmVzAQUFYWNyZXMABAEGcHJvbG9nAQFpAwMJAQIhPQIIBQFpDG9yaWdpbkNhbGxlcgUNcmVzdDJDb250cmFjdAkBC3ZhbHVlT3JFbHNlAgkAoAgBCQEKa2V5QmxvY2tlZAAHBwkAAgECH0NvbnRyYWN0cyBhcmUgdW5kZXIgbWFpbnRlbmFuY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEWtleUxhc3RUeElkQnlVc2VyAQkApQgBCAUBaQxvcmlnaW5DYWxsZXIJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAUDbmlsARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAgNhbXQHYWRkcmVzcwQJd2xnUmVzdWx0CQD8BwQFC3dsZ0NvbnRyYWN0AhJvblN0YWtlVW5zdGFrZUxhbmQJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwDCQAAAgUJd2xnUmVzdWx0BQl3bGdSZXN1bHQEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAEB3RpbWVLZXkJARhrZXlBY3Jlc1N0YWtlZFRpbWVCeVVzZXIBBQdhZGRyZXNzBAlhbW91bnRLZXkJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFB2FkZHJlc3MEDm9sZEFjcmVzQW1vdW50CQELdmFsdWVPckVsc2UCCQCfCAEFCWFtb3VudEtleQAAAwMJAGYCAAAFA2FtdAkAZgIAAAkAZAIFDm9sZEFjcmVzQW1vdW50BQNhbXQHCQACAQkArAICCQCsAgIJAKwCAgIOWW91IGhhdmUgb25seSAJAQpmaXhlZFBvaW50AgUOb2xkQWNyZXNBbW91bnQACAIgIEFDUkVTIHN0YWtlZCwgdHJpZWQgdG8gdW5zdGFrZSAJAQpmaXhlZFBvaW50AgkBAS0BBQNhbXQACAQObmV3QWNyZXNBbW91bnQJAGQCBQ5vbGRBY3Jlc0Ftb3VudAUDYW10BAhvbGRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRJhY3Jlc1N0YWtkVG90YWxLZXkAAAQJdXNlckZwS2V5CQEVa2V5RmFybWluZ1Bvd2VyQnlVc2VyAQUHYWRkcmVzcwQFb2xkRnAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJdXNlckZwS2V5AAAEBW5ld0ZwCQEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFDm5ld0FjcmVzQW1vdW50BApvbGRUb3RhbEZwCQELdmFsdWVPckVsc2UCCQCfCAEFFHRvdGFsRmFybWluZ1Bvd2VyS2V5AAAJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdGltZUtleQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDEludGVnZXJFbnRyeQIFCWFtb3VudEtleQUObmV3QWNyZXNBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEmFjcmVzU3Rha2RUb3RhbEtleQkAZAIFCG9sZFRvdGFsBQNhbXQJAMwIAgkBDEludGVnZXJFbnRyeQIFCXVzZXJGcEtleQUFbmV3RnAJAMwIAgkBDEludGVnZXJFbnRyeQIFFHRvdGFsRmFybWluZ1Bvd2VyS2V5CQBkAgkAZQIFCm9sZFRvdGFsRnAFBW9sZEZwBQVuZXdGcAUDbmlsBQl3bGdSZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BC2dldFdsZ1ByaWNlARV1c2R0QmFsYW5jZUNvcnJlY3Rpb24EDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFC3dsZ0NvbnRyYWN0BQ93bGdJc3N1ZWRBbXRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQGd2xnVXNkCQDwBwIFC3dsZ0NvbnRyYWN0BQt1c2R0QXNzZXRJZAQJYWNyZXMyVXNkCQBlAgkA8AcCBQ5hY3JlczJDb250cmFjdAULdXNkdEFzc2V0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRJpbnZlc3RGdW5kQ29udHJhY3QFC3VzZHRBc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFEmludmVzdEZ1bmRDb250cmFjdAUOemJJc3N1ZWRBbXRLZXkAAAQNdG90YWxGdW5kc1VzZAkAZAIJAGQCBQlhY3JlczJVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsCQBrAwUNdG90YWxGdW5kc1VzZAUFTVVMVDgFDGlzc3VlZEFtb3VudAAUa2V5TGFzdEFjcmVzU2VsbFRpbWUCEWxhc3RBY3Jlc1NlbGxUaW1lABBrZXlMYXN0TGltaXRMZWZ0Ag1sYXN0TGltaXRMZWZ0AA9rZXlMYXN0U2F2ZWRUVkwCDGxhc3RTYXZlZFRWTAERZ2V0U3dhcExpbWl0QWNyZXMABAZ3bGdVc2QJAPAHAgULd2xnQ29udHJhY3QFC3VzZHRBc3NldElkBAlhY3JlczJVc2QJAPAHAgUEdGhpcwULdXNkdEFzc2V0SWQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQt1c2R0QXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJpbnZlc3RGdW5kQ29udHJhY3QFDnpiSXNzdWVkQW10S2V5AAAEBm5ld1RWTAkAZAIJAGQCBQlhY3JlczJVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAxkZWZhdWx0TGltaXQJAGkCBQZuZXdUVkwFE09ORV9QRVJDRU5UX0RJVklTT1IEDWxhc3RMaW1pdExlZnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUQa2V5TGFzdExpbWl0TGVmdAUMZGVmYXVsdExpbWl0BAdsYXN0VFZMCQELdmFsdWVPckVsc2UCCQCfCAEFD2tleUxhc3RTYXZlZFRWTAUGbmV3VFZMBAhsYXN0VGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBRRrZXlMYXN0QWNyZXNTZWxsVGltZQAABANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAxjdXJyZW50TGltaXQJAGQCBQ1sYXN0TGltaXRMZWZ0CQBrAwUHbGFzdFRWTAkAZQIFA25vdwUIbGFzdFRpbWUJAGgCBQpEQVlfTUlMTElTBRNPTkVfUEVSQ0VOVF9ESVZJU09SBA1saW1pdExlZnRVc2R0CQCXAwEJAMwIAgUMY3VycmVudExpbWl0CQDMCAIFDGRlZmF1bHRMaW1pdAUDbmlsCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtleUxhc3RMaW1pdExlZnQFDWxpbWl0TGVmdFVzZHQJAMwIAgkBDEludGVnZXJFbnRyeQIFD2tleUxhc3RTYXZlZFRWTAUHbGFzdFRWTAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUa2V5TGFzdEFjcmVzU2VsbFRpbWUFA25vdwUDbmlsCQBoAgUNbGltaXRMZWZ0VXNkdAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSDQFpAQpzYXZlTGFzdFR4AAMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgULd2xnQ29udHJhY3QFA25pbAgFAWkGY2FsbGVyCQACAQINQWNjZXNzIGRlbmllZAkAlAoCCQEGcHJvbG9nAQUBaQAqAWkBDWNvbnN0cnVjdG9yVjECCXJlc3QyQWRkcg5vbGRBY3JDb250cmFjdAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBA5vbGRBY3JDb250QWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQUOb2xkQWNyQ29udHJhY3QJAMwIAgkBDEludGVnZXJFbnRyeQIFFGFjcmVzSXNzdWVkQW1vdW50S2V5CQERQGV4dHJOYXRpdmUoMTA1MCkCBQ5vbGRBY3JDb250QWRkcgUUYWNyZXNJc3N1ZWRBbW91bnRLZXkJAMwIAgkBC0JpbmFyeUVudHJ5AgUPYWNyZXNBc3NldElkS2V5CQERQGV4dHJOYXRpdmUoMTA1MikCBQ5vbGRBY3JDb250QWRkcgUPYWNyZXNBc3NldElkS2V5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlSZXN0MkFkZHJlc3MABQlyZXN0MkFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUTb2xkQWNyZXNDb250cmFjdEtleQUOb2xkQWNyQ29udHJhY3QFA25pbAFpAQpzZXRCbG9ja2VkAQlpc0Jsb2NrZWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBCmtleUJsb2NrZWQABQlpc0Jsb2NrZWQFA25pbAFpAQx1bnN0YWtlQWNyZXMBBmFtb3VudAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkDCQBnAgAABQZhbW91bnQJAAIBAhlBbW91bnQgc2hvdWxkIGJlIHBvc2l0aXZlBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBAskdDA0NzUyNDgyOQkBGXN0YWtlVW5zdGFrZUFjcmVzSW50ZXJuYWwCCQEBLQEFBmFtb3VudAUHYWRkcmVzcwQHYWN0aW9ucwgFCyR0MDQ3NTI0ODI5Al8xBBB3bGdDbGFpbWVkQW1vdW50CAULJHQwNDc1MjQ4MjkCXzIJAJQKAgkAzggCCQDNCAIFB2FjdGlvbnMJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQxhY3Jlc0Fzc2V0SWQFDXByb2xvZ0FjdGlvbnMFEHdsZ0NsYWltZWRBbW91bnQBaQEKc3Rha2VBY3JlcwAEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABANhbXQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAUMYWNyZXNBc3NldElkCQACAQIUQUNSRVMgcGF5bWVudHMgb25seSEECyR0MDUyODA1MzUzCQEZc3Rha2VVbnN0YWtlQWNyZXNJbnRlcm5hbAIFA2FtdAUHYWRkcmVzcwQHYWN0aW9ucwgFCyR0MDUyODA1MzUzAl8xBBB3bGdDbGFpbWVkQW1vdW50CAULJHQwNTI4MDUzNTMCXzIJAJQKAgkAzggCBQdhY3Rpb25zBQ1wcm9sb2dBY3Rpb25zBRB3bGdDbGFpbWVkQW1vdW50AWkBCGJ1eUFjcmVzAAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQKdXNkdEFtb3VudAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQt1c2R0QXNzZXRJZAkAAgECE1VTRFQgcGF5bWVudHMgb25seSEDCQBmAgUFTVVMVDYFCnVzZHRBbW91bnQJAAIBCQCsAgIJAKwCAgIWTWluIHBheW1lbnQgc2hvdWxkIGJlIAkBCmZpeGVkUG9pbnQCBQVNVUxUNgAGAgUgVVNEVAQLYWNyZXNBbW91bnQJAGgCBQp1c2R0QW1vdW50BRVVU0RUMkFDUkVTX01VTFRJUExJRVIECXdsZ0Ftb3VudAkAawMFCnVzZHRBbW91bnQFBU1VTFQ4CQELZ2V0V2xnUHJpY2UBBQp1c2R0QW1vdW50BA9vbGRBY3Jlc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFE29sZEFjcmVzQ29udHJhY3RLZXkEA3JlcQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCFHJlcXVlc3RBY3Jlc0NhbGxiYWNrCQDMCAIFC2FjcmVzQW1vdW50BQNuaWwFA25pbAMJAAACBQNyZXEFA3JlcQQJd2xnUmVtYWluCQEFYXNJbnQBCQD8BwQFC3dsZ0NvbnRyYWN0AgpidXJuV2xnb2xkCQDMCAIFCXdsZ0Ftb3VudAUDbmlsBQNuaWwJAJQKAgkAzggCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULYWNyZXNBbW91bnQFDGFjcmVzQXNzZXRJZAUDbmlsBQ1wcm9sb2dBY3Rpb25zBQl3bGdSZW1haW4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQYnV5QWNyZXNSRUFET05MWQEKdXNkdEFtb3VudAQLYWNyZXNBbW91bnQJAGgCBQp1c2R0QW1vdW50BRVVU0RUMkFDUkVTX01VTFRJUExJRVIECXdsZ1RvQnVybgkAawMFCnVzZHRBbW91bnQFBU1VTFQ4CQELZ2V0V2xnUHJpY2UBBQp1c2R0QW1vdW50CQCUCgIFA25pbAkAzAgCBQthY3Jlc0Ftb3VudAkAzAgCBQVNVUxUNgkAzAgCBQthY3Jlc0Ftb3VudAkAzAgCBQl3bGdUb0J1cm4FA25pbAFpAQlzZWxsQWNyZXMABA1wcm9sb2dBY3Rpb25zCQEGcHJvbG9nAQUBaQMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAthY3Jlc0Ftb3VudAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQxhY3Jlc0Fzc2V0SWQJAAIBAhRBQ1JFUyBwYXltZW50cyBvbmx5IQMJAGYCBQVNVUxUNwULYWNyZXNBbW91bnQJAAIBCQCsAgIJAKwCAgIWTWluIHBheW1lbnQgc2hvdWxkIGJlIAkBCmZpeGVkUG9pbnQCBQVNVUxUNwAIAgYgQUNSRVMEBGFkZHIJAKUIAQgFAWkGY2FsbGVyBAskdDA3MjEwNzI2MAkBEWdldFN3YXBMaW1pdEFjcmVzAAQMbGltaXRBY3Rpb25zCAULJHQwNzIxMDcyNjACXzEECG1heEFjcmVzCAULJHQwNzIxMDcyNjACXzIDCQBmAgULYWNyZXNBbW91bnQFCG1heEFjcmVzCQACAQkArAICCQCsAgICEVlvdSBjYW4gc2VsbCBtYXggCQEKZml4ZWRQb2ludAIFCG1heEFjcmVzAAgCBiBBQ1JFUwQKdXNkdEFtb3VudAkAaQIJAGkCBQthY3Jlc0Ftb3VudAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSAAIJAJQKAgkAzggCCQDNCAIFDGxpbWl0QWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQp1c2R0QW1vdW50BQt1c2R0QXNzZXRJZAUNcHJvbG9nQWN0aW9ucwUKdXNkdEFtb3VudAFpARFzZWxsQWNyZXNSRUFET05MWQIHYWRkcmVzcwthY3Jlc0Ftb3VudAQLJHQwNzY0Njc2OTYJARFnZXRTd2FwTGltaXRBY3JlcwAEDGxpbWl0QWN0aW9ucwgFCyR0MDc2NDY3Njk2Al8xBAhtYXhBY3JlcwgFCyR0MDc2NDY3Njk2Al8yBAp1c2R0QW1vdW50CQBpAgkAaQIFC2FjcmVzQW1vdW50BRVVU0RUMkFDUkVTX01VTFRJUExJRVIAAgkAlAoCBQNuaWwJAMwIAgUKdXNkdEFtb3VudAkAzAgCBQVNVUxUNwkAzAgCBQhtYXhBY3JlcwkAzAgCAAAFA25pbAFpARBjb252ZXJ0T2xkU3Rha2VzAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECFFRlbXBvcmFyaWx5IGRpc2FibGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBA9vbGRBY3Jlc0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFE29sZEFjcmVzQ29udHJhY3RLZXkEBmFtb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9vbGRBY3Jlc0FkZHJlc3MJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFB2FkZHJlc3MAAAQJZ290QWNyZXMwAwkAZgIFBmFtb3VudAAACQEMYXNUdXBsZTJJbnRzAQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCFHVuc3Rha2VBY3Jlc0NhbGxiYWNrCQDMCAIFBmFtb3VudAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAkAlAoCAAAAAAQRb2xkU3Rha2luZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFFW9sZFN0YWtpbmdDb250cmFjdFN0cgQIbGFuZHNTdHIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBQdhZGRyZXNzBAtsYW5kc1Jlc3VsdAMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgQFbGFuZHMJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8KAQdvbmVMYW5kAgNhY2MLbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFyCQEM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CAUCcnICXzMIBQJycgJfNAkAzAgCBQVpc3N1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQkAuAgBBQVpc3N1ZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQCXCgUAAAAAAAAAAAUDbmlsBAtkdWNrQXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBRFvbGRTdGFraW5nQWRkcmVzcwkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQUHYWRkcmVzcwIABApkdWNrUmVzdWx0AwkBAiE9AgULZHVja0Fzc2V0SWQCAAkBDGFzVHVwbGUzSW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VEdWNrQ2FsbGJhY2sJAMwIAgULZHVja0Fzc2V0SWQJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwJAJUKAwAAAAAAAAQBeAkBGXN0YWtlVW5zdGFrZUFjcmVzSW50ZXJuYWwCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAggFCWdvdEFjcmVzMAJfMQgFC2xhbmRzUmVzdWx0Al8xCAULbGFuZHNSZXN1bHQCXzIIBQtsYW5kc1Jlc3VsdAJfMwgFC2xhbmRzUmVzdWx0Al80CAUKZHVja1Jlc3VsdAJfMQgFCmR1Y2tSZXN1bHQCXzIIBQpkdWNrUmVzdWx0Al8zBQdhZGRyZXNzCQCUCgIJAM4IAggFC2xhbmRzUmVzdWx0Al81CAUBeAJfMQgFAXgCXzIBaQEUdW5zdGFrZUxhbmRzUkVBRE9OTFkBB2FkZHJlc3MEEW9sZFN0YWtpbmdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBRVvbGRTdGFraW5nQ29udHJhY3RTdHIECGxhbmRzU3RyCQCdCAIFEW9sZFN0YWtpbmdBZGRyZXNzCQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUHYWRkcmVzcwQLbGFuZHNSZXN1bHQDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIEBWxhbmRzCQC9CQIJAQV2YWx1ZQEFCGxhbmRzU3RyAgFfCgEHb25l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ZWRBbW91bnQECWFtb3VudEtleQkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUHYWRkcmVzcwQObmV3QWNyZXNBbW91bnQJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFCWFtb3VudEtleQAABQthZGRlZEFtb3VudAQIb2xkVG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUSYWNyZXNTdGFrZFRvdGFsS2V5AAAECXVzZXJGcEtleQkBFWtleUZhcm1pbmdQb3dlckJ5VXNlcgEFB2FkZHJlc3MEBW9sZEZwCQELdmFsdWVPckVsc2UCCQCfCAEFCXVzZXJGcEtleQAABAVuZXdGcAkBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBQ5uZXdBY3Jlc0Ftb3VudAQKb2xkVG90YWxGcAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRR0b3RhbEZhcm1pbmdQb3dlcktleQAABApuZXdUb3RhbEZwCQBkAgkAZQIFCm9sZFRvdGFsRnAFBW9sZEZwBQVuZXdGcAkAlAoCBQNuaWwJAMwIAgUFb2xkRnAJAMwIAgUFbmV3RnAJAMwIAgUKb2xkVG90YWxGcAkAzAgCBQpuZXdUb3RhbEZwBQNuaWwAemZCHQ==", "height": 3365978, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HB2x49k7A9oWjG78FcVY4GPQte9cVqLnqDcVYPZ1Xu58 Next: 2xcrEprGkH6o3eoKGURZMJMmLxiW8yKd3rG3CRWyvBe8 Diff:
OldNewDifferences
419419
420420
421421 @Callable(az)
422-func convertOldStakes () = {
423- let n = toString(az.caller)
424- if ((size(az.payments) != 0))
425- then throw("No payments required")
426- else {
427- let bt = addressFromStringValue(getStringValue(D))
428- let bj = valueOrElse(getInteger(bt, af(n)), 0)
429- let bB = if ((bj > 0))
430- then W(invoke(bt, "unstakeAcresCallback", [bj, n], nil))
431- else $Tuple2(0, 0)
432- let bC = addressFromStringValue(l)
433- let bD = getString(bC, L(n))
434- let bE = if (isDefined(bD))
435- then {
436- let bF = split_51C(value(bD), "_")
437- func bG (ao,bH) = if ((bH == ""))
438- then throw("landAssetId is required")
439- else {
440- let bI = R(invoke(bC, "unstakeLandCallback", [bH, n], nil))
441- $Tuple4((ao._1 + bI._1), (ao._2 + bI._2), (ao._3 + bI._3), (ao._4 + bI._4))
422+func convertOldStakes () = if ((az.caller != this))
423+ then throw("Temporarily disabled")
424+ else {
425+ let n = toString(az.caller)
426+ if ((size(az.payments) != 0))
427+ then throw("No payments required")
428+ else {
429+ let bt = addressFromStringValue(getStringValue(D))
430+ let bj = valueOrElse(getInteger(bt, af(n)), 0)
431+ let bB = if ((bj > 0))
432+ then W(invoke(bt, "unstakeAcresCallback", [bj, n], nil))
433+ else $Tuple2(0, 0)
434+ let bC = addressFromStringValue(l)
435+ let bD = getString(bC, L(n))
436+ let bE = if (isDefined(bD))
437+ then {
438+ let bF = split_51C(value(bD), "_")
439+ func bG (ao,bH) = if ((bH == ""))
440+ then throw("landAssetId is required")
441+ else {
442+ let bI = R(invoke(bC, "unstakeLandCallback", [bH, n], nil))
443+ $Tuple4((ao._1 + bI._1), (ao._2 + bI._2), (ao._3 + bI._3), (ao._4 + bI._4))
444+ }
445+
446+ let bJ = {
447+ let aq = bF
448+ let ar = size(aq)
449+ let as = $Tuple4(0, 0, 0, 0)
450+ func at (au,av) = if ((av >= ar))
451+ then au
452+ else bG(au, aq[av])
453+
454+ func aw (au,av) = if ((av >= ar))
455+ then au
456+ else throw("List size exceeds 100")
457+
458+ aw(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(as, 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)
442459 }
443-
444- let bJ = {
445- let aq = bF
446- let ar = size(aq)
447- let as = $Tuple4(0, 0, 0, 0)
448- func at (au,av) = if ((av >= ar))
449- then au
450- else bG(au, aq[av])
451-
452- func aw (au,av) = if ((av >= ar))
453- then au
454- else throw("List size exceeds 100")
455-
456- aw(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(as, 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)
460+ let bK = invoke(bC, "unstakeLandsFinalizeCallback", [n], nil)
461+ if ((bK == bK))
462+ then {
463+ let bu = invoke(bt, "requestAcresCallback", [(((bJ._1 + bJ._2) + bJ._3) + bJ._4)], nil)
464+ if ((bu == bu))
465+ then {
466+ let bL = Issue("FPOWER10", "FarmingPower +10% NFT for WavesLands game", 1, 0, false)
467+ $Tuple5(bJ._1, bJ._2, bJ._3, bJ._4, [bL, ScriptTransfer(az.caller, 1, calculateAssetId(bL))])
468+ }
469+ else throw("Strict value is not equal to itself.")
470+ }
471+ else throw("Strict value is not equal to itself.")
457472 }
458- let bK = invoke(bC, "unstakeLandsFinalizeCallback", [n], nil)
459- if ((bK == bK))
460- then {
461- let bu = invoke(bt, "requestAcresCallback", [(((bJ._1 + bJ._2) + bJ._3) + bJ._4)], nil)
462- if ((bu == bu))
463- then {
464- let bL = Issue("FPOWER10", "FarmingPower +10% NFT for WavesLands game", 1, 0, false)
465- $Tuple5(bJ._1, bJ._2, bJ._3, bJ._4, [bL, ScriptTransfer(az.caller, 1, calculateAssetId(bL))])
466- }
467- else throw("Strict value is not equal to itself.")
468- }
469- else throw("Strict value is not equal to itself.")
470- }
471- else $Tuple5(0, 0, 0, 0, nil)
472- let bM = valueOrElse(getString(bC, N(n)), "")
473- let bN = if ((bM != ""))
474- then V(invoke(bC, "unstakeDuckCallback", [bM, n], nil))
475- else $Tuple3(0, 0, 0)
476- let bO = aA((((((((bB._1 + bE._1) + bE._2) + bE._3) + bE._4) + bN._1) + bN._2) + bN._3), n)
477- $Tuple2((bE._5 ++ bO._1), bO._2)
478- }
479- }
473+ else $Tuple5(0, 0, 0, 0, nil)
474+ let bM = valueOrElse(getString(bC, N(n)), "")
475+ let bN = if ((bM != ""))
476+ then V(invoke(bC, "unstakeDuckCallback", [bM, n], nil))
477+ else $Tuple3(0, 0, 0)
478+ let bO = aA((((((((bB._1 + bE._1) + bE._2) + bE._3) + bE._4) + bN._1) + bN._2) + bN._3), n)
479+ $Tuple2((bE._5 ++ bO._1), bO._2)
480+ }
481+ }
480482
481483
482484
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000000
77
88 let c = 10000000
99
1010 let d = 100000000
1111
1212 let e = 86400000
1313
1414 let f = 10
1515
1616 let g = 100
1717
1818 let h = take(drop(this.bytes, 1), 1)
1919
2020 let i = {
2121 let j = h
2222 if ((base58'2W' == j))
2323 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
2424 else if ((base58'2T' == j))
2525 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
2626 else throw("Unknown chain")
2727 }
2828
2929 let k = {
3030 let j = h
3131 if ((base58'2W' == j))
3232 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
3333 else if ((base58'2T' == j))
3434 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
3535 else throw("Unknown chain")
3636 }
3737
3838 let l = {
3939 let j = h
4040 if ((base58'2W' == j))
4141 then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
4242 else if ((base58'2T' == j))
4343 then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
4444 else throw("Unknown chain")
4545 }
4646
4747 func m (n,o) = valueOrErrorMessage(getString(n, o), makeString(["mandatory ", toString(n), ".", o, " is not defined"], ""))
4848
4949
5050 let p = 1
5151
5252 let q = 2
5353
5454 let r = 5
5555
5656 func s () = "%s__restConfig"
5757
5858
5959 func t () = "%s__rest2Addr"
6060
6161
6262 func u (v) = split_4C(m(v, s()), a)
6363
6464
6565 func w (x,y) = valueOrErrorMessage(addressFromString(x[y]), ("Rest cfg doesn't contain address at index " + toString(y)))
6666
6767
6868 let z = addressFromStringValue(valueOrElse(getString(this, t()), k))
6969
7070 let x = u(z)
7171
7272 let A = w(x, p)
7373
7474 let B = w(x, q)
7575
7676 let C = w(x, r)
7777
7878 let D = "oldAcresContract"
7979
8080 func E () = "contractsBlocked"
8181
8282
8383 func F (G) = ("lastTxIdByUser_" + G)
8484
8585
8686 let H = "acresIssuedAmount"
8787
8888 let I = "acresAssetId"
8989
9090 let J = valueOrErrorMessage(getBinary(A, I), "ACRES is not issued yet")
9191
9292 func K (G) = ("acresStakedTimeByUser_" + G)
9393
9494
9595 func L (M) = ("stakedLandsByOwner_" + M)
9696
9797
9898 func N (M) = ("stakedDuckByOwner_" + M)
9999
100100
101101 func O (P) = {
102102 let j = P
103103 if ($isInstanceOf(j, "Int"))
104104 then {
105105 let Q = j
106106 Q
107107 }
108108 else throw("fail to cast into Int")
109109 }
110110
111111
112112 func R (S) = {
113113 let j = S
114114 if ($isInstanceOf(j, "(Int, Int, Int, Int, Int)"))
115115 then {
116116 let T = j
117117 T
118118 }
119119 else throw("fail to cast into (Int, Int, Int, Int, Int)")
120120 }
121121
122122
123123 func U (S) = {
124124 let j = S
125125 if ($isInstanceOf(j, "(Int, Int, Int, Int)"))
126126 then {
127127 let T = j
128128 T
129129 }
130130 else throw("fail to cast into (Int, Int, Int, Int)")
131131 }
132132
133133
134134 func V (S) = {
135135 let j = S
136136 if ($isInstanceOf(j, "(Int, Int, Int)"))
137137 then {
138138 let T = j
139139 T
140140 }
141141 else throw("fail to cast into (Int, Int, Int)")
142142 }
143143
144144
145145 func W (S) = {
146146 let j = S
147147 if ($isInstanceOf(j, "(Int, Int)"))
148148 then {
149149 let T = j
150150 T
151151 }
152152 else throw("fail to cast into (Int, Int)")
153153 }
154154
155155
156156 func X (S,Y) = {
157157 let Z = pow(10, 0, Y, 0, 0, DOWN)
158158 let aa = toString((S % Z))
159159 let ab = drop(toString(Z), (1 + size(aa)))
160160 (((toString((S / Z)) + ".") + ab) + aa)
161161 }
162162
163163
164164 let ac = 100000000
165165
166166 let ad = "wlg_issuedAmount"
167167
168168 let ae = "zbill_issuedAmount"
169169
170170 func af (G) = ("acresStakedAmountByUser_" + G)
171171
172172
173173 func ag (G) = ("farmingPowerByUser_" + G)
174174
175175
176176 let ah = "acresStakedAmountTotal"
177177
178178 let ai = "totalFarmingPower"
179179
180180 let aj = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
181181
182182 func ak (al) = {
183183 let am = ((al + 99999999) / ac)
184184 func an (ao,ap) = if ((ap >= am))
185185 then ao
186186 else (ao + 1)
187187
188188 let aq = aj
189189 let ar = size(aq)
190190 let as = 0
191191 func at (au,av) = if ((av >= ar))
192192 then au
193193 else an(au, aq[av])
194194
195195 func aw (au,av) = if ((av >= ar))
196196 then au
197197 else throw("List size exceeds 10")
198198
199199 aw(at(at(at(at(at(at(at(at(at(at(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
200200 }
201201
202202
203203 func ax (al) = ((al * 20) * (ak(al) + 4))
204204
205205
206206 func ay (az) = if (if ((az.originCaller != z))
207207 then valueOrElse(getBoolean(E()), false)
208208 else false)
209209 then throw("Contracts are under maintenance")
210210 else [StringEntry(F(toString(az.originCaller)), toBase58String(az.transactionId))]
211211
212212
213213 func aA (aB,n) = {
214214 let aC = invoke(B, "onStakeUnstakeLand", [n], nil)
215215 if ((aC == aC))
216216 then {
217217 let aD = lastBlock.timestamp
218218 let aE = K(n)
219219 let aF = af(n)
220220 let aG = valueOrElse(getInteger(aF), 0)
221221 if (if ((0 > aB))
222222 then (0 > (aG + aB))
223223 else false)
224224 then throw(((("You have only " + X(aG, 8)) + " ACRES staked, tried to unstake ") + X(-(aB), 8)))
225225 else {
226226 let aH = (aG + aB)
227227 let aI = valueOrElse(getInteger(ah), 0)
228228 let aJ = ag(n)
229229 let aK = valueOrElse(getInteger(aJ), 0)
230230 let aL = ax(aH)
231231 let aM = valueOrElse(getInteger(ai), 0)
232232 $Tuple2([IntegerEntry(aE, lastBlock.timestamp), IntegerEntry(aF, aH), IntegerEntry(ah, (aI + aB)), IntegerEntry(aJ, aL), IntegerEntry(ai, ((aM - aK) + aL))], aC)
233233 }
234234 }
235235 else throw("Strict value is not equal to itself.")
236236 }
237237
238238
239239 func aN (aO) = {
240240 let aP = valueOrErrorMessage(getInteger(B, ad), "WLGOLD is not issued yet")
241241 let aQ = assetBalance(B, i)
242242 let aR = (assetBalance(A, i) - aO)
243243 let aS = (assetBalance(C, i) + valueOrElse(getInteger(C, ae), 0))
244244 let aT = ((aR + aQ) + aS)
245245 fraction(aT, d, aP)
246246 }
247247
248248
249249 let aU = "lastAcresSellTime"
250250
251251 let aV = "lastLimitLeft"
252252
253253 let aW = "lastSavedTVL"
254254
255255 func aX () = {
256256 let aQ = assetBalance(B, i)
257257 let aR = assetBalance(this, i)
258258 let aS = (assetBalance(C, i) + valueOrElse(getInteger(C, ae), 0))
259259 let aY = ((aR + aQ) + aS)
260260 let aZ = (aY / g)
261261 let ba = valueOrElse(getInteger(aV), aZ)
262262 let bb = valueOrElse(getInteger(aW), aY)
263263 let bc = valueOrElse(getInteger(aU), 0)
264264 let aD = lastBlock.timestamp
265265 let bd = (ba + fraction(bb, (aD - bc), (e * g)))
266266 let be = min([bd, aZ])
267267 $Tuple2([IntegerEntry(aV, be), IntegerEntry(aW, bb), IntegerEntry(aU, aD)], (be * f))
268268 }
269269
270270
271271 @Callable(az)
272272 func saveLastTx () = if (!(containsElement([B], az.caller)))
273273 then throw("Access denied")
274274 else $Tuple2(ay(az), 42)
275275
276276
277277
278278 @Callable(az)
279279 func constructorV1 (bf,bg) = if ((az.caller != this))
280280 then throw("Permission denied")
281281 else {
282282 let bh = addressFromStringValue(bg)
283283 [IntegerEntry(H, getIntegerValue(bh, H)), BinaryEntry(I, getBinaryValue(bh, I)), StringEntry(t(), bf), StringEntry(D, bg)]
284284 }
285285
286286
287287
288288 @Callable(az)
289289 func setBlocked (bi) = if ((az.caller != this))
290290 then throw("permission denied")
291291 else [BooleanEntry(E(), bi)]
292292
293293
294294
295295 @Callable(az)
296296 func unstakeAcres (bj) = {
297297 let bk = ay(az)
298298 if ((0 >= bj))
299299 then throw("Amount should be positive")
300300 else {
301301 let n = toString(az.caller)
302302 if ((size(az.payments) != 0))
303303 then throw("No payments required")
304304 else {
305305 let bl = aA(-(bj), n)
306306 let bm = bl._1
307307 let bn = bl._2
308308 $Tuple2(((bm :+ ScriptTransfer(az.caller, bj, J)) ++ bk), bn)
309309 }
310310 }
311311 }
312312
313313
314314
315315 @Callable(az)
316316 func stakeAcres () = {
317317 let bk = ay(az)
318318 let n = toString(az.caller)
319319 if ((size(az.payments) != 1))
320320 then throw("exactly 1 payment must be attached")
321321 else {
322322 let bo = az.payments[0]
323323 let aB = bo.amount
324324 if (if (!(isDefined(bo.assetId)))
325325 then true
326326 else (value(bo.assetId) != J))
327327 then throw("ACRES payments only!")
328328 else {
329329 let bp = aA(aB, n)
330330 let bm = bp._1
331331 let bn = bp._2
332332 $Tuple2((bm ++ bk), bn)
333333 }
334334 }
335335 }
336336
337337
338338
339339 @Callable(az)
340340 func buyAcres () = {
341341 let bk = ay(az)
342342 if ((size(az.payments) != 1))
343343 then throw("exactly 1 payment must be attached")
344344 else {
345345 let bo = az.payments[0]
346346 let bq = bo.amount
347347 if (if (!(isDefined(bo.assetId)))
348348 then true
349349 else (value(bo.assetId) != i))
350350 then throw("USDT payments only!")
351351 else if ((b > bq))
352352 then throw((("Min payment should be " + X(b, 6)) + " USDT"))
353353 else {
354354 let br = (bq * f)
355355 let bs = fraction(bq, d, aN(bq))
356356 let bt = addressFromStringValue(getStringValue(D))
357357 let bu = invoke(bt, "requestAcresCallback", [br], nil)
358358 if ((bu == bu))
359359 then {
360360 let bv = O(invoke(B, "burnWlgold", [bs], nil))
361361 $Tuple2(([ScriptTransfer(az.caller, br, J)] ++ bk), bv)
362362 }
363363 else throw("Strict value is not equal to itself.")
364364 }
365365 }
366366 }
367367
368368
369369
370370 @Callable(az)
371371 func buyAcresREADONLY (bq) = {
372372 let br = (bq * f)
373373 let bw = fraction(bq, d, aN(bq))
374374 $Tuple2(nil, [br, b, br, bw])
375375 }
376376
377377
378378
379379 @Callable(az)
380380 func sellAcres () = {
381381 let bk = ay(az)
382382 if ((size(az.payments) != 1))
383383 then throw("exactly 1 payment must be attached")
384384 else {
385385 let bo = az.payments[0]
386386 let br = bo.amount
387387 if (if (!(isDefined(bo.assetId)))
388388 then true
389389 else (value(bo.assetId) != J))
390390 then throw("ACRES payments only!")
391391 else if ((c > br))
392392 then throw((("Min payment should be " + X(c, 8)) + " ACRES"))
393393 else {
394394 let G = toString(az.caller)
395395 let bx = aX()
396396 let by = bx._1
397397 let bz = bx._2
398398 if ((br > bz))
399399 then throw((("You can sell max " + X(bz, 8)) + " ACRES"))
400400 else {
401401 let bq = ((br / f) / 2)
402402 $Tuple2(((by :+ ScriptTransfer(az.caller, bq, i)) ++ bk), bq)
403403 }
404404 }
405405 }
406406 }
407407
408408
409409
410410 @Callable(az)
411411 func sellAcresREADONLY (n,br) = {
412412 let bA = aX()
413413 let by = bA._1
414414 let bz = bA._2
415415 let bq = ((br / f) / 2)
416416 $Tuple2(nil, [bq, c, bz, 0])
417417 }
418418
419419
420420
421421 @Callable(az)
422-func convertOldStakes () = {
423- let n = toString(az.caller)
424- if ((size(az.payments) != 0))
425- then throw("No payments required")
426- else {
427- let bt = addressFromStringValue(getStringValue(D))
428- let bj = valueOrElse(getInteger(bt, af(n)), 0)
429- let bB = if ((bj > 0))
430- then W(invoke(bt, "unstakeAcresCallback", [bj, n], nil))
431- else $Tuple2(0, 0)
432- let bC = addressFromStringValue(l)
433- let bD = getString(bC, L(n))
434- let bE = if (isDefined(bD))
435- then {
436- let bF = split_51C(value(bD), "_")
437- func bG (ao,bH) = if ((bH == ""))
438- then throw("landAssetId is required")
439- else {
440- let bI = R(invoke(bC, "unstakeLandCallback", [bH, n], nil))
441- $Tuple4((ao._1 + bI._1), (ao._2 + bI._2), (ao._3 + bI._3), (ao._4 + bI._4))
422+func convertOldStakes () = if ((az.caller != this))
423+ then throw("Temporarily disabled")
424+ else {
425+ let n = toString(az.caller)
426+ if ((size(az.payments) != 0))
427+ then throw("No payments required")
428+ else {
429+ let bt = addressFromStringValue(getStringValue(D))
430+ let bj = valueOrElse(getInteger(bt, af(n)), 0)
431+ let bB = if ((bj > 0))
432+ then W(invoke(bt, "unstakeAcresCallback", [bj, n], nil))
433+ else $Tuple2(0, 0)
434+ let bC = addressFromStringValue(l)
435+ let bD = getString(bC, L(n))
436+ let bE = if (isDefined(bD))
437+ then {
438+ let bF = split_51C(value(bD), "_")
439+ func bG (ao,bH) = if ((bH == ""))
440+ then throw("landAssetId is required")
441+ else {
442+ let bI = R(invoke(bC, "unstakeLandCallback", [bH, n], nil))
443+ $Tuple4((ao._1 + bI._1), (ao._2 + bI._2), (ao._3 + bI._3), (ao._4 + bI._4))
444+ }
445+
446+ let bJ = {
447+ let aq = bF
448+ let ar = size(aq)
449+ let as = $Tuple4(0, 0, 0, 0)
450+ func at (au,av) = if ((av >= ar))
451+ then au
452+ else bG(au, aq[av])
453+
454+ func aw (au,av) = if ((av >= ar))
455+ then au
456+ else throw("List size exceeds 100")
457+
458+ aw(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(as, 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)
442459 }
443-
444- let bJ = {
445- let aq = bF
446- let ar = size(aq)
447- let as = $Tuple4(0, 0, 0, 0)
448- func at (au,av) = if ((av >= ar))
449- then au
450- else bG(au, aq[av])
451-
452- func aw (au,av) = if ((av >= ar))
453- then au
454- else throw("List size exceeds 100")
455-
456- aw(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(as, 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)
460+ let bK = invoke(bC, "unstakeLandsFinalizeCallback", [n], nil)
461+ if ((bK == bK))
462+ then {
463+ let bu = invoke(bt, "requestAcresCallback", [(((bJ._1 + bJ._2) + bJ._3) + bJ._4)], nil)
464+ if ((bu == bu))
465+ then {
466+ let bL = Issue("FPOWER10", "FarmingPower +10% NFT for WavesLands game", 1, 0, false)
467+ $Tuple5(bJ._1, bJ._2, bJ._3, bJ._4, [bL, ScriptTransfer(az.caller, 1, calculateAssetId(bL))])
468+ }
469+ else throw("Strict value is not equal to itself.")
470+ }
471+ else throw("Strict value is not equal to itself.")
457472 }
458- let bK = invoke(bC, "unstakeLandsFinalizeCallback", [n], nil)
459- if ((bK == bK))
460- then {
461- let bu = invoke(bt, "requestAcresCallback", [(((bJ._1 + bJ._2) + bJ._3) + bJ._4)], nil)
462- if ((bu == bu))
463- then {
464- let bL = Issue("FPOWER10", "FarmingPower +10% NFT for WavesLands game", 1, 0, false)
465- $Tuple5(bJ._1, bJ._2, bJ._3, bJ._4, [bL, ScriptTransfer(az.caller, 1, calculateAssetId(bL))])
466- }
467- else throw("Strict value is not equal to itself.")
468- }
469- else throw("Strict value is not equal to itself.")
470- }
471- else $Tuple5(0, 0, 0, 0, nil)
472- let bM = valueOrElse(getString(bC, N(n)), "")
473- let bN = if ((bM != ""))
474- then V(invoke(bC, "unstakeDuckCallback", [bM, n], nil))
475- else $Tuple3(0, 0, 0)
476- let bO = aA((((((((bB._1 + bE._1) + bE._2) + bE._3) + bE._4) + bN._1) + bN._2) + bN._3), n)
477- $Tuple2((bE._5 ++ bO._1), bO._2)
478- }
479- }
473+ else $Tuple5(0, 0, 0, 0, nil)
474+ let bM = valueOrElse(getString(bC, N(n)), "")
475+ let bN = if ((bM != ""))
476+ then V(invoke(bC, "unstakeDuckCallback", [bM, n], nil))
477+ else $Tuple3(0, 0, 0)
478+ let bO = aA((((((((bB._1 + bE._1) + bE._2) + bE._3) + bE._4) + bN._1) + bN._2) + bN._3), n)
479+ $Tuple2((bE._5 ++ bO._1), bO._2)
480+ }
481+ }
480482
481483
482484
483485 @Callable(az)
484486 func unstakeLandsREADONLY (n) = {
485487 let bC = addressFromStringValue(l)
486488 let bD = getString(bC, L(n))
487489 let bE = if (isDefined(bD))
488490 then {
489491 let bF = split_51C(value(bD), "_")
490492 func bG (ao,bH) = if ((bH == ""))
491493 then throw("landAssetId is required")
492494 else {
493495 let bI = U(invoke(bC, "unstakeLandREADONLY", [bH, n], nil))
494496 $Tuple4((ao._1 + bI._1), (ao._2 + bI._2), (ao._3 + bI._3), (ao._4 + bI._4))
495497 }
496498
497499 let aq = bF
498500 let ar = size(aq)
499501 let as = $Tuple4(0, 0, 0, 0)
500502 func at (au,av) = if ((av >= ar))
501503 then au
502504 else bG(au, aq[av])
503505
504506 func aw (au,av) = if ((av >= ar))
505507 then au
506508 else throw("List size exceeds 100")
507509
508510 aw(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(as, 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)
509511 }
510512 else $Tuple4(0, 0, 0, 0)
511513 $Tuple2(nil, bE)
512514 }
513515
514516
515517
516518 @Callable(az)
517519 func stakeAcresCallback (G) = if ((az.caller != addressFromStringValue(l)))
518520 then throw("Permission denied")
519521 else aA(az.payments[0].amount, G)
520522
521523
522524
523525 @Callable(az)
524526 func simulateStakeAcresREADONLY (n,bP) = {
525527 let aF = af(n)
526528 let aH = (valueOrElse(getInteger(aF), 0) + bP)
527529 let aI = valueOrElse(getInteger(ah), 0)
528530 let aJ = ag(n)
529531 let aK = valueOrElse(getInteger(aJ), 0)
530532 let aL = ax(aH)
531533 let aM = valueOrElse(getInteger(ai), 0)
532534 let bQ = ((aM - aK) + aL)
533535 $Tuple2(nil, [aK, aL, aM, bQ])
534536 }
535537
536538

github/deemru/w8io/026f985 
49.18 ms