tx · FtF2bR4vkEcAYznJEojvHBjTbdtSXf3GPcjJujzzRHMA

3N6HSS7Toat1RhyEsyqVGgVSRzH19W1FTbP:  -0.01200000 Waves

2023.06.09 12:14 [2614940] smart account 3N6HSS7Toat1RhyEsyqVGgVSRzH19W1FTbP > SELF 0.00000000 Waves

{ "type": 13, "id": "FtF2bR4vkEcAYznJEojvHBjTbdtSXf3GPcjJujzzRHMA", "fee": 1200000, "feeAssetId": null, "timestamp": 1686302085126, "version": 2, "chainId": 84, "sender": "3N6HSS7Toat1RhyEsyqVGgVSRzH19W1FTbP", "senderPublicKey": "AoKo4segKHU4DeJnxXQYJj2u7J6XJeux6r8KLW52cd2Q", "proofs": [ "51UobAr2Gp8BAqhAJM3HX1YAfYXXyHbZWxCygwXDE2WU5NzWkhCpjAsBWBRMqdzgb5G1dPtn8L6zEpFeEoAfbY4j" ], "script": "base64:BwIqCAISAwoBAhIGCgQBAQEBEgMKAQISAwoBAhIECgICAhIECgICAhIDCgECHgADU0VQAgJfXwANQ09OVFJBQ1RfTkFNRQIPY2FsY3VsYXRvci5yaWRlAAZTQ0FMRTgAgMLXLwAHUEVORElORwIHUEVORElORwAIRklOSVNIRUQCCEZJTklTSEVEAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUNQ09OVFJBQ1RfTkFNRQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzARFrZXlGYWN0b3J5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAgdmYWN0b3J5BQNuaWwFA1NFUAEMa2V5THBBc3NldElkAAkAuQkCCQDMCAICAiVzCQDMCAICCWxwQXNzZXRJZAUDbmlsBQNTRVABEmtleVRyZWFzdXJ5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAgh0cmVhc3VyeQUDbmlsBQNTRVABDGtleUF2YWlsYWJsZQELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICCWF2YWlsYWJsZQkAzAgCCQClCAEFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEKa2V5Q2xhaW1lZAELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICB2NsYWltZWQJAMwIAgkApQgBBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABEGtleUN1cnJlbnRQZXJpb2QACQC5CQIJAMwIAgICJXMJAMwIAgINY3VycmVudFBlcmlvZAUDbmlsBQNTRVABEWtleVByaWNlRm9yUGVyaW9kAQZwZXJpb2QJALkJAgkAzAgCAgQlcyVkCQDMCAICBXByaWNlCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEOa2V5U3RhcnRIZWlnaHQBBnBlcmlvZAkAuQkCCQDMCAICBCVzJWQJAMwIAgILc3RhcnRIZWlnaHQJAMwIAgkApAMBBQZwZXJpb2QFA25pbAUDU0VQAQ9rZXlQZXJpb2RMZW5ndGgAAhAlc19fcGVyaW9kTGVuZ3RoARhrZXlCbG9ja1Byb2Nlc3NpbmdSZXdhcmQAAhklc19fYmxvY2tQcm9jZXNzaW5nUmV3YXJkARVrZXlOZXh0QmxvY2tUb1Byb2Nlc3MAAhYlc19fbmV4dEJsb2NrVG9Qcm9jZXNzARRrZXlXaXRoZHJhd2FsUmVxdWVzdAILdXNlckFkZHJlc3MEdHhJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAgp3aXRoZHJhd2FsCQDMCAIJAKUIAQULdXNlckFkZHJlc3MJAMwIAgkA2AQBBQR0eElkBQNuaWwFA1NFUAEWdmFsdWVXaXRoZHJhd2FsUmVxdWVzdAQGc3RhdHVzDWxwQXNzZXRBbW91bnQMdGFyZ2V0UGVyaW9kCWNsYWltVHhJZAQMY2xhaW1UeElkU3RyBAckbWF0Y2gwBQljbGFpbVR4SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAwkAAQIFByRtYXRjaDACBFVuaXQCBFNPT04JAAIBAgtNYXRjaCBlcnJvcgkAuQkCCQDMCAICCCVzJWQlZCVzCQDMCAIFBnN0YXR1cwkAzAgCCQCkAwEFDWxwQXNzZXRBbW91bnQJAMwIAgkApAMBBQx0YXJnZXRQZXJpb2QJAMwIAgUMY2xhaW1UeElkU3RyBQNuaWwFA1NFUAEhcGFyc2VXaXRoZHJhd2FsUmVxdWVzdFZhbHVlT3JGYWlsAQFzBAVwYXJ0cwkAtQkCBQFzBQNTRVADCQAAAgkAkAMBBQVwYXJ0cwAFBAZzdGF0dXMJAJEDAgUFcGFydHMAAQQNbHBBc3NldEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUFcGFydHMAAgkBB3dyYXBFcnIBAhVpbnZhbGlkIGxwQXNzZXRBbW91bnQEDHRhcmdldFBlcmlvZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUFcGFydHMAAwkBB3dyYXBFcnIBAhRpbnZhbGlkIHRhcmdldFBlcmlvZAQJY2xhaW1UeElkCQCRAwIFBXBhcnRzAAQJAJYKBAUGc3RhdHVzBQ1scEFzc2V0QW1vdW50BQx0YXJnZXRQZXJpb2QFCWNsYWltVHhJZAkBCHRocm93RXJyAQIgaW52YWxpZCB3aXRoZHJhd2FsIHJlcXVlc3QgdmFsdWUAFGZhY3RvcnlBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMJARFrZXlGYWN0b3J5QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABRmYWN0b3J5QWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRRmYWN0b3J5QWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAhdpbnZhbGlkIGZhY3RvcnkgYWRkcmVzcwAPbHBBc3NldElkT3B0aW9uBAckbWF0Y2gwBRRmYWN0b3J5QWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBAckbWF0Y2gxCQCdCAIFAWEJAQxrZXlMcEFzc2V0SWQAAwkAAQIFByRtYXRjaDECBlN0cmluZwQBcwUHJG1hdGNoMQkA2QQBBQFzAwkAAQIFByRtYXRjaDECBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAD2xwQXNzZXRJZE9yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBQ9scEFzc2V0SWRPcHRpb24JAQd3cmFwRXJyAQIRaW52YWxpZCBscEFzc2V0SWQAFXRyZWFzdXJ5QWRkcmVzc09wdGlvbgQHJG1hdGNoMAUUZmFjdG9yeUFkZHJlc3NPcHRpb24DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAQHJG1hdGNoMQkAnQgCBQFhCQESa2V5VHJlYXN1cnlBZGRyZXNzAAMJAAECBQckbWF0Y2gxAgZTdHJpbmcEAXMFByRtYXRjaDEJAKYIAQUBcwMJAAECBQckbWF0Y2gxAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABV0cmVhc3VyeUFkZHJlc3NPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUVdHJlYXN1cnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECGGludmFsaWQgdHJlYXN1cnkgYWRkcmVzcwELb25seUFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAELb25seUZhY3RvcnkBAWkJAQtvbmx5QWRkcmVzcwIFAWkFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAQ9yZXdhcmRGb3JPcHRpb24CB3Jld2FyZHMGdGFyZ2V0BAFzCQCQAwEFB3Jld2FyZHMECyR0MDMyNDczMjcyCQCRAwIFB3Jld2FyZHMAAAQCYTAIBQskdDAzMjQ3MzI3MgJfMQQCcjAIBQskdDAzMjQ3MzI3MgJfMgQLJHQwMzI3NTMzMDAJAJEDAgUHcmV3YXJkcwABBAJhMQgFCyR0MDMyNzUzMzAwAl8xBAJyMQgFCyR0MDMyNzUzMzAwAl8yBAskdDAzMzAzMzMyOAkAkQMCBQdyZXdhcmRzAAIEAmEyCAULJHQwMzMwMzMzMjgCXzEEAnIyCAULJHQwMzMwMzMzMjgCXzIDAwkAZgIFAXMAAAkAAAIFAmEwBQZ0YXJnZXQHBQJyMAMDCQBmAgUBcwABCQAAAgUCYTEFBnRhcmdldAcFAnIxAwMJAGYCBQFzAAIJAAACBQJhMgUGdGFyZ2V0BwUCcjIFBHVuaXQHAWkBB2NsYWltTFABEHVzZXJBZGRyZXNzQnl0ZXMEC2NoZWNrQ2FsbGVyCQELb25seUZhY3RvcnkBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQLdXNlckFkZHJlc3MJAQdBZGRyZXNzAQUQdXNlckFkZHJlc3NCeXRlcwQJYXZhaWxhYmxlCQELdmFsdWVPckVsc2UCCQCaCAIFFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQEMa2V5QXZhaWxhYmxlAQULdXNlckFkZHJlc3MAAAQHY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBCmtleUNsYWltZWQBBQt1c2VyQWRkcmVzcwAABA5mYWN0b3J5QWN0aW9ucwMJAGYCBQlhdmFpbGFibGUAAAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAg10cmFuc2ZlckFzc2V0CQDMCAIFEHVzZXJBZGRyZXNzQnl0ZXMJAMwIAgUJYXZhaWxhYmxlCQDMCAIFD2xwQXNzZXRJZE9yRmFpbAUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAIJAQxrZXlBdmFpbGFibGUBBQt1c2VyQWRkcmVzcwkAzAgCAAAFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCC3N0cmluZ0VudHJ5CQDMCAIJAQprZXlDbGFpbWVkAQULdXNlckFkZHJlc3MJAMwIAgkAZAIFB2NsYWltZWQFCWF2YWlsYWJsZQUDbmlsBQNuaWwFA25pbAkBCHRocm93RXJyAQIQbm90aGluZyB0byBjbGFpbQkAlAoCBQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGZpbmFsaXplBBhuZXdUcmVhc3VyeVZvbHVtZUluV2F2ZXMIeHRuUHJpY2UQcHdyTWFuYWdlcnNCb251cyB0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZgQGY2hlY2tzCQDMCAIDCQAAAggFAWkMb3JpZ2luQ2FsbGVyBRRmYWN0b3J5QWRkcmVzc09yRmFpbAYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkCQDMCAIDCQBnAgUYbmV3VHJlYXN1cnlWb2x1bWVJbldhdmVzAAAGCQEIdGhyb3dFcnIBAhtpbnZhbGlkIG5ldyB0cmVhc3VyeSB2b2x1bWUJAMwIAgMJAGcCBQh4dG5QcmljZQAABgkBCHRocm93RXJyAQIRaW52YWxpZCBYVE4gcHJpY2UJAMwIAgMDCQBnAgUQcHdyTWFuYWdlcnNCb251cwAACQBnAgUGU0NBTEU4BRBwd3JNYW5hZ2Vyc0JvbnVzBwYJAQh0aHJvd0VycgECGmludmFsaWQgUFdSIG1hbmFnZXJzIGJvbnVzCQDMCAIDAwkAZwIFIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmCQEBLQEFBlNDQUxFOAkAZwIFBlNDQUxFOAUgdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWYHBgkBCHRocm93RXJyAQIzaW52YWxpZCB0cmVhc3VyeSB2b2x1bWUgZGlmZiBhbGxvY2F0aW9uIGNvZWZmaWNpZW50BQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEE2N1cnJlbnRQZXJpb2RPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECDmludmFsaWQgcGVyaW9kBAluZXdQZXJpb2QJAGQCBRNjdXJyZW50UGVyaW9kT3JGYWlsAAEECG5ld1ByaWNlBQZTQ0FMRTgEE2xwQXNzZXRBbW91bnRUb0J1cm4AAAQOZmFjdG9yeUFjdGlvbnMJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAIJARBrZXlDdXJyZW50UGVyaW9kAAkAzAgCBQluZXdQZXJpb2QFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCDGludGVnZXJFbnRyeQkAzAgCCQERa2V5UHJpY2VGb3JQZXJpb2QBBQluZXdQZXJpb2QJAMwIAgUIbmV3UHJpY2UFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCBGJ1cm4JAMwIAgUTbHBBc3NldEFtb3VudFRvQnVybgUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBmludmVzdAEQdXNlckFkZHJlc3NCeXRlcwQLY2hlY2tDYWxsZXIJAQtvbmx5RmFjdG9yeQEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBAt1c2VyQWRkcmVzcwkBB0FkZHJlc3MBBRB1c2VyQWRkcmVzc0J5dGVzBBNjdXJyZW50UGVyaW9kT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARBrZXlDdXJyZW50UGVyaW9kAAkBB3dyYXBFcnIBAg5pbnZhbGlkIHBlcmlvZAQSY3VycmVudFByaWNlT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARFrZXlQcmljZUZvclBlcmlvZAEFE2N1cnJlbnRQZXJpb2RPckZhaWwJAQd3cmFwRXJyAQINaW52YWxpZCBwcmljZQQHcGF5bWVudAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkBCHRocm93RXJyAQIQaW52YWxpZCBwYXltZW50cwQNcGF5bWVudEFtb3VudAMDCQAAAggFB3BheW1lbnQHYXNzZXRJZAUEdW5pdAkAZgIIBQdwYXltZW50BmFtb3VudAAABwgFB3BheW1lbnQGYW1vdW50CQEIdGhyb3dFcnIBAhZpbnZhbGlkIHBheW1lbnQgYW1vdW50BA1scEFzc2V0QW1vdW50AwkAZgIFEmN1cnJlbnRQcmljZU9yRmFpbAAACQBrAwUNcGF5bWVudEFtb3VudAUGU0NBTEU4BRJjdXJyZW50UHJpY2VPckZhaWwAAAQOZmFjdG9yeUFjdGlvbnMJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAICD2ludmVzdGVkX19XQVZFUwkAzAgCAAAFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCB3JlaXNzdWUJAMwIAgUNbHBBc3NldEFtb3VudAUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAINdHJhbnNmZXJBc3NldAkAzAgCBRB1c2VyQWRkcmVzc0J5dGVzCQDMCAIFDWxwQXNzZXRBbW91bnQJAMwIAgUPbHBBc3NldElkT3JGYWlsBQNuaWwFA25pbAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAg10cmFuc2ZlcldhdmVzCQDMCAIIBRV0cmVhc3VyeUFkZHJlc3NPckZhaWwFYnl0ZXMJAMwIAgUNcGF5bWVudEFtb3VudAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0BQ1wYXltZW50QW1vdW50BQNuaWwFA25pbAkAlAoCBQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCHdpdGhkcmF3ARB1c2VyQWRkcmVzc0J5dGVzBAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3VzZXJBZGRyZXNzCQEHQWRkcmVzcwEFEHVzZXJBZGRyZXNzQnl0ZXMEE2N1cnJlbnRQZXJpb2RPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECDmludmFsaWQgcGVyaW9kBAdwYXltZW50AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQEIdGhyb3dFcnIBCQEHd3JhcEVycgECEGludmFsaWQgcGF5bWVudHMEDnBheW1lbnRBc3NldElkAwkAAAIIBQdwYXltZW50B2Fzc2V0SWQFD2xwQXNzZXRJZE9yRmFpbAUPbHBBc3NldElkT3JGYWlsCQEIdGhyb3dFcnIBAhVpbnZhbGlkIHBheW1lbnQgYXNzZXQEDXBheW1lbnRBbW91bnQDCQBmAggFB3BheW1lbnQGYW1vdW50AAAIBQdwYXltZW50BmFtb3VudAkBCHRocm93RXJyAQIWaW52YWxpZCBwYXltZW50IGFtb3VudAQOZmFjdG9yeUFjdGlvbnMJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAILc3RyaW5nRW50cnkJAMwIAgkBFGtleVdpdGhkcmF3YWxSZXF1ZXN0AgULdXNlckFkZHJlc3MIBQFpDXRyYW5zYWN0aW9uSWQJAMwIAgkBFnZhbHVlV2l0aGRyYXdhbFJlcXVlc3QEBQdQRU5ESU5HBQ1wYXltZW50QW1vdW50CQBkAgUTY3VycmVudFBlcmlvZE9yRmFpbAABBQR1bml0BQNuaWwFA25pbAUDbmlsAwkAAAIFDmZhY3RvcnlBY3Rpb25zBQ5mYWN0b3J5QWN0aW9ucwkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFFGZhY3RvcnlBZGRyZXNzT3JGYWlsBQ1wYXltZW50QW1vdW50BQ5wYXltZW50QXNzZXRJZAUDbmlsBQ5mYWN0b3J5QWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5jYW5jZWxXaXRoZHJhdwIQdXNlckFkZHJlc3NCeXRlcwR0eElkBAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3VzZXJBZGRyZXNzCQEHQWRkcmVzcwEFEHVzZXJBZGRyZXNzQnl0ZXMEF3dpdGhkcmF3YWxSZXF1ZXN0T3B0aW9uCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARRrZXlXaXRoZHJhd2FsUmVxdWVzdAIFC3VzZXJBZGRyZXNzBQR0eElkCQEHd3JhcEVycgECGmludmFsaWQgd2l0aGRyYXdhbCByZXF1ZXN0BAskdDA4NjA1ODcxOAkBIXBhcnNlV2l0aGRyYXdhbFJlcXVlc3RWYWx1ZU9yRmFpbAEFF3dpdGhkcmF3YWxSZXF1ZXN0T3B0aW9uBAZzdGF0dXMIBQskdDA4NjA1ODcxOAJfMQQNbHBBc3NldEFtb3VudAgFCyR0MDg2MDU4NzE4Al8yBAx0YXJnZXRQZXJpb2QIBQskdDA4NjA1ODcxOAJfMwQJY2xhaW1UeElkCAULJHQwODYwNTg3MTgCXzQDCQAAAgUGc3RhdHVzBQdQRU5ESU5HBA5mYWN0b3J5QWN0aW9ucwkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAgtkZWxldGVFbnRyeQkAzAgCCQEUa2V5V2l0aGRyYXdhbFJlcXVlc3QCBQt1c2VyQWRkcmVzcwUEdHhJZAUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAINdHJhbnNmZXJBc3NldAkAzAgCBRB1c2VyQWRkcmVzc0J5dGVzCQDMCAIFDWxwQXNzZXRBbW91bnQJAMwIAgUPbHBBc3NldElkT3JGYWlsBQNuaWwFA25pbAUDbmlsAwkAAAIFDmZhY3RvcnlBY3Rpb25zBQ5mYWN0b3J5QWN0aW9ucwkAlAoCBQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQEIdGhyb3dFcnIBAiFpbnZhbGlkIHdpdGhkcmF3YWwgcmVxdWVzdCBzdGF0dXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKY2xhaW1XYXZlcwIQdXNlckFkZHJlc3NCeXRlcwR0eElkBAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3VzZXJBZGRyZXNzCQEHQWRkcmVzcwEFEHVzZXJBZGRyZXNzQnl0ZXMEE2N1cnJlbnRQZXJpb2RPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECDmludmFsaWQgcGVyaW9kBBd3aXRoZHJhd2FsUmVxdWVzdE9wdGlvbgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQEUa2V5V2l0aGRyYXdhbFJlcXVlc3QCBQt1c2VyQWRkcmVzcwUEdHhJZAkBB3dyYXBFcnIBAhppbnZhbGlkIHdpdGhkcmF3YWwgcmVxdWVzdAQLJHQwOTU4OTk3MDIJASFwYXJzZVdpdGhkcmF3YWxSZXF1ZXN0VmFsdWVPckZhaWwBBRd3aXRoZHJhd2FsUmVxdWVzdE9wdGlvbgQGc3RhdHVzCAULJHQwOTU4OTk3MDICXzEEDWxwQXNzZXRBbW91bnQIBQskdDA5NTg5OTcwMgJfMgQMdGFyZ2V0UGVyaW9kCAULJHQwOTU4OTk3MDICXzMECWNsYWltVHhJZAgFCyR0MDk1ODk5NzAyAl80AwkAAAIFBnN0YXR1cwUIRklOSVNIRUQJAQh0aHJvd0VycgECIWludmFsaWQgd2l0aGRyYXdhbCByZXF1ZXN0IHN0YXR1cwMJAGYCBQx0YXJnZXRQZXJpb2QFE2N1cnJlbnRQZXJpb2RPckZhaWwJAQh0aHJvd0VycgECIWludmFsaWQgd2l0aGRyYXdhbCByZXF1ZXN0IHBlcmlvZAQSY3VycmVudFByaWNlT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARFrZXlQcmljZUZvclBlcmlvZAEFE2N1cnJlbnRQZXJpb2RPckZhaWwJAQd3cmFwRXJyAQINaW52YWxpZCBwcmljZQQGYW1vdW50AwkAZgIFEmN1cnJlbnRQcmljZU9yRmFpbAAACQBrAwUNbHBBc3NldEFtb3VudAUSY3VycmVudFByaWNlT3JGYWlsBQZTQ0FMRTgAAAQOZmFjdG9yeUFjdGlvbnMJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAILc3RyaW5nRW50cnkJAMwIAgkBFGtleVdpdGhkcmF3YWxSZXF1ZXN0AgULdXNlckFkZHJlc3MFBHR4SWQJAMwIAgkBFnZhbHVlV2l0aGRyYXdhbFJlcXVlc3QEBQhGSU5JU0hFRAUNbHBBc3NldEFtb3VudAUMdGFyZ2V0UGVyaW9kCAUBaQ10cmFuc2FjdGlvbklkBQNuaWwFA25pbAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAgRidXJuCQDMCAIFDWxwQXNzZXRBbW91bnQFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCDXRyYW5zZmVyV2F2ZXMJAMwIAgUQdXNlckFkZHJlc3NCeXRlcwkAzAgCBQZhbW91bnQFA25pbAUDbmlsBQNuaWwJAJQKAgUDbmlsBQ5mYWN0b3J5QWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1wcm9jZXNzQmxvY2tzARB1c2VyQWRkcmVzc0J5dGVzBAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEC3VzZXJBZGRyZXNzCQEHQWRkcmVzcwEFEHVzZXJBZGRyZXNzQnl0ZXMEE2N1cnJlbnRQZXJpb2RPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECDmludmFsaWQgcGVyaW9kBAxwZXJpb2RMZW5ndGgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBD2tleVBlcmlvZExlbmd0aAAJAQd3cmFwRXJyAQIVaW52YWxpZCBwZXJpb2QgbGVuZ3RoBBJjdXJyZW50U3RhcnRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBDmtleVN0YXJ0SGVpZ2h0AQUTY3VycmVudFBlcmlvZE9yRmFpbAkBB3dyYXBFcnIBAhRpbnZhbGlkIHN0YXJ0IGhlaWdodAQSY3VycmVudFByaWNlT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARFrZXlQcmljZUZvclBlcmlvZAEFE2N1cnJlbnRQZXJpb2RPckZhaWwJAQd3cmFwRXJyAQINaW52YWxpZCBwcmljZQQSbmV4dEJsb2NrVG9Qcm9jZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARVrZXlOZXh0QmxvY2tUb1Byb2Nlc3MACQEHd3JhcEVycgECHWludmFsaWQgbmV4dCBibG9jayB0byBwcm9jZXNzBA90YXJnZXRCbG9ja0luZm8DAwMJAGcCBQZoZWlnaHQFEm5leHRCbG9ja1RvUHJvY2VzcwMJAGcCBRJuZXh0QmxvY2tUb1Byb2Nlc3MFEmN1cnJlbnRTdGFydEhlaWdodAYJAAACBRNjdXJyZW50UGVyaW9kT3JGYWlsAAAHCQBmAgkAZAIFEmN1cnJlbnRTdGFydEhlaWdodAUMcGVyaW9kTGVuZ3RoBRJuZXh0QmxvY2tUb1Byb2Nlc3MHCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAO0HAQUSbmV4dEJsb2NrVG9Qcm9jZXNzCQEHd3JhcEVycgECEmludmFsaWQgYmxvY2sgaW5mbwkBCHRocm93RXJyAQkBB3dyYXBFcnIBAhRpbnZhbGlkIHRhcmdldCBibG9jawQUdHJlYXN1cnlSZXdhcmRPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkBD3Jld2FyZEZvck9wdGlvbgIIBQ90YXJnZXRCbG9ja0luZm8HcmV3YXJkcwUVdHJlYXN1cnlBZGRyZXNzT3JGYWlsCQEHd3JhcEVycgECF2ludmFsaWQgdHJlYXN1cnkgcmV3YXJkBAlnZW5lcmF0b3IIBQ90YXJnZXRCbG9ja0luZm8JZ2VuZXJhdG9yBBtibG9ja1Byb2Nlc3NpbmdSZXdhcmRPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBGGtleUJsb2NrUHJvY2Vzc2luZ1Jld2FyZAAJAQd3cmFwRXJyAQIfaW52YWxpZCBibG9jayBwcm9jZXNzaW5nIHJld2FyZAQJYXZhaWxhYmxlCQELdmFsdWVPckVsc2UCCQCaCAIFFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQEMa2V5QXZhaWxhYmxlAQUJZ2VuZXJhdG9yAAAEDWxwQXNzZXRBbW91bnQDCQBmAgUSY3VycmVudFByaWNlT3JGYWlsAAAJAGsDCQBlAgUUdHJlYXN1cnlSZXdhcmRPckZhaWwFG2Jsb2NrUHJvY2Vzc2luZ1Jld2FyZE9yRmFpbAUGU0NBTEU4BRJjdXJyZW50UHJpY2VPckZhaWwAAAQOZmFjdG9yeUFjdGlvbnMJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAIJARVrZXlOZXh0QmxvY2tUb1Byb2Nlc3MACQDMCAIJAGQCBRJuZXh0QmxvY2tUb1Byb2Nlc3MAAQUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAIJAQxrZXlBdmFpbGFibGUBBQlnZW5lcmF0b3IJAMwIAgkAZAIFCWF2YWlsYWJsZQUNbHBBc3NldEFtb3VudAUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAINdHJhbnNmZXJXYXZlcwkAzAgCBRB1c2VyQWRkcmVzc0J5dGVzCQDMCAIFG2Jsb2NrUHJvY2Vzc2luZ1Jld2FyZE9yRmFpbAUDbmlsBQNuaWwFA25pbAkAlAoCBQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleajqA08=", "height": 2614940, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7JXzeDFWqgY2daX9NLoh4A2HbXQ7nigjVxcbGUFQU3Vh Next: G3AFXw36cGdNo4g61Ds1njQrrZrhGSA1VScd5uaThvJF Diff:
OldNewDifferences
186186 let ai = valueOrElse(getInteger(I, n(m)), 0)
187187 let aj = if ((ah > 0))
188188 then [invoke(I, "transferAsset", [af, ah, M], nil), invoke(I, "integerEntry", [l(m), 0], nil), invoke(I, "stringEntry", [n(m), (ai + ah)], nil)]
189- else nil
189+ else h("nothing to claim")
190190 $Tuple2(nil, aj)
191191 }
192192 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "calculator.ride"
77
88 let c = 100000000
99
1010 let d = "PENDING"
1111
1212 let e = "FINISHED"
1313
1414 func f (g) = ((b + ": ") + g)
1515
1616
1717 func h (g) = throw(f(g))
1818
1919
2020 func i () = makeString(["%s", "factory"], a)
2121
2222
2323 func j () = makeString(["%s", "lpAssetId"], a)
2424
2525
2626 func k () = makeString(["%s", "treasury"], a)
2727
2828
2929 func l (m) = makeString(["%s%s", "available", toString(m)], a)
3030
3131
3232 func n (m) = makeString(["%s%s", "claimed", toString(m)], a)
3333
3434
3535 func o () = makeString(["%s", "currentPeriod"], a)
3636
3737
3838 func p (q) = makeString(["%s%d", "price", toString(q)], a)
3939
4040
4141 func r (q) = makeString(["%s%d", "startHeight", toString(q)], a)
4242
4343
4444 func s () = "%s__periodLength"
4545
4646
4747 func t () = "%s__blockProcessingReward"
4848
4949
5050 func u () = "%s__nextBlockToProcess"
5151
5252
5353 func v (m,w) = makeString(["%s%s%s", "withdrawal", toString(m), toBase58String(w)], a)
5454
5555
5656 func x (y,z,A,B) = {
5757 let C = {
5858 let D = B
5959 if ($isInstanceOf(D, "ByteVector"))
6060 then {
6161 let E = D
6262 toBase58String(E)
6363 }
6464 else if ($isInstanceOf(D, "Unit"))
6565 then "SOON"
6666 else throw("Match error")
6767 }
6868 makeString(["%s%d%d%s", y, toString(z), toString(A), C], a)
6969 }
7070
7171
7272 func F (g) = {
7373 let G = split(g, a)
7474 if ((size(G) == 5))
7575 then {
7676 let y = G[1]
7777 let z = valueOrErrorMessage(parseInt(G[2]), f("invalid lpAssetAmount"))
7878 let A = valueOrErrorMessage(parseInt(G[3]), f("invalid targetPeriod"))
7979 let B = G[4]
8080 $Tuple4(y, z, A, B)
8181 }
8282 else h("invalid withdrawal request value")
8383 }
8484
8585
8686 let H = {
8787 let D = getString(this, i())
8888 if ($isInstanceOf(D, "String"))
8989 then {
9090 let g = D
9191 addressFromString(g)
9292 }
9393 else if ($isInstanceOf(D, "Unit"))
9494 then unit
9595 else throw("Match error")
9696 }
9797
9898 let I = valueOrErrorMessage(H, f("invalid factory address"))
9999
100100 let J = {
101101 let D = H
102102 if ($isInstanceOf(D, "Address"))
103103 then {
104104 let K = D
105105 let L = getString(K, j())
106106 if ($isInstanceOf(L, "String"))
107107 then {
108108 let g = L
109109 fromBase58String(g)
110110 }
111111 else if ($isInstanceOf(L, "Unit"))
112112 then unit
113113 else throw("Match error")
114114 }
115115 else if ($isInstanceOf(D, "Unit"))
116116 then unit
117117 else throw("Match error")
118118 }
119119
120120 let M = valueOrErrorMessage(J, f("invalid lpAssetId"))
121121
122122 let N = {
123123 let D = H
124124 if ($isInstanceOf(D, "Address"))
125125 then {
126126 let K = D
127127 let L = getString(K, k())
128128 if ($isInstanceOf(L, "String"))
129129 then {
130130 let g = L
131131 addressFromString(g)
132132 }
133133 else if ($isInstanceOf(L, "Unit"))
134134 then unit
135135 else throw("Match error")
136136 }
137137 else if ($isInstanceOf(D, "Unit"))
138138 then unit
139139 else throw("Match error")
140140 }
141141
142142 let O = valueOrErrorMessage(N, f("invalid treasury address"))
143143
144144 func P (Q,R) = if ((Q.caller == R))
145145 then true
146146 else h("permission denied")
147147
148148
149149 func S (Q) = P(Q, I)
150150
151151
152152 func T (U,V) = {
153153 let g = size(U)
154154 let W = U[0]
155155 let X = W._1
156156 let Y = W._2
157157 let Z = U[1]
158158 let aa = Z._1
159159 let ab = Z._2
160160 let ac = U[2]
161161 let ad = ac._1
162162 let ae = ac._2
163163 if (if ((g > 0))
164164 then (X == V)
165165 else false)
166166 then Y
167167 else if (if ((g > 1))
168168 then (aa == V)
169169 else false)
170170 then ab
171171 else if (if ((g > 2))
172172 then (ad == V)
173173 else false)
174174 then ae
175175 else unit
176176 }
177177
178178
179179 @Callable(Q)
180180 func claimLP (af) = {
181181 let ag = S(Q)
182182 if ((ag == ag))
183183 then {
184184 let m = Address(af)
185185 let ah = valueOrElse(getInteger(I, l(m)), 0)
186186 let ai = valueOrElse(getInteger(I, n(m)), 0)
187187 let aj = if ((ah > 0))
188188 then [invoke(I, "transferAsset", [af, ah, M], nil), invoke(I, "integerEntry", [l(m), 0], nil), invoke(I, "stringEntry", [n(m), (ai + ah)], nil)]
189- else nil
189+ else h("nothing to claim")
190190 $Tuple2(nil, aj)
191191 }
192192 else throw("Strict value is not equal to itself.")
193193 }
194194
195195
196196
197197 @Callable(Q)
198198 func finalize (ak,al,am,an) = {
199199 let ao = [if ((Q.originCaller == I))
200200 then true
201201 else h("permission denied"), if ((ak >= 0))
202202 then true
203203 else h("invalid new treasury volume"), if ((al >= 0))
204204 then true
205205 else h("invalid XTN price"), if (if ((am >= 0))
206206 then (c >= am)
207207 else false)
208208 then true
209209 else h("invalid PWR managers bonus"), if (if ((an >= -(c)))
210210 then (c >= an)
211211 else false)
212212 then true
213213 else h("invalid treasury volume diff allocation coefficient")]
214214 if ((ao == ao))
215215 then {
216216 let ap = valueOrErrorMessage(getInteger(I, o()), f("invalid period"))
217217 let aq = (ap + 1)
218218 let ar = c
219219 let as = 0
220220 let aj = [invoke(I, "integerEntry", [o(), aq], nil), invoke(I, "integerEntry", [p(aq), ar], nil), invoke(I, "burn", [as], nil)]
221221 $Tuple2(nil, aj)
222222 }
223223 else throw("Strict value is not equal to itself.")
224224 }
225225
226226
227227
228228 @Callable(Q)
229229 func invest (af) = {
230230 let ag = S(Q)
231231 if ((ag == ag))
232232 then {
233233 let m = Address(af)
234234 let ap = valueOrErrorMessage(getInteger(I, o()), f("invalid period"))
235235 let at = valueOrErrorMessage(getInteger(I, p(ap)), f("invalid price"))
236236 let au = if ((size(Q.payments) == 1))
237237 then Q.payments[0]
238238 else h("invalid payments")
239239 let av = if (if ((au.assetId == unit))
240240 then (au.amount > 0)
241241 else false)
242242 then au.amount
243243 else h("invalid payment amount")
244244 let z = if ((at > 0))
245245 then fraction(av, c, at)
246246 else 0
247247 let aj = [invoke(I, "integerEntry", ["invested__WAVES", 0], nil), invoke(I, "reissue", [z], nil), invoke(I, "transferAsset", [af, z, M], nil), invoke(I, "transferWaves", [O.bytes, av], [AttachedPayment(unit, av)])]
248248 $Tuple2(nil, aj)
249249 }
250250 else throw("Strict value is not equal to itself.")
251251 }
252252
253253
254254
255255 @Callable(Q)
256256 func withdraw (af) = {
257257 let ag = S(Q)
258258 if ((ag == ag))
259259 then {
260260 let m = Address(af)
261261 let ap = valueOrErrorMessage(getInteger(I, o()), f("invalid period"))
262262 let au = if ((size(Q.payments) == 1))
263263 then Q.payments[0]
264264 else h(f("invalid payments"))
265265 let aw = if ((au.assetId == M))
266266 then M
267267 else h("invalid payment asset")
268268 let av = if ((au.amount > 0))
269269 then au.amount
270270 else h("invalid payment amount")
271271 let aj = [invoke(I, "stringEntry", [v(m, Q.transactionId), x(d, av, (ap + 1), unit)], nil)]
272272 if ((aj == aj))
273273 then $Tuple2([ScriptTransfer(I, av, aw)], aj)
274274 else throw("Strict value is not equal to itself.")
275275 }
276276 else throw("Strict value is not equal to itself.")
277277 }
278278
279279
280280
281281 @Callable(Q)
282282 func cancelWithdraw (af,w) = {
283283 let ag = S(Q)
284284 if ((ag == ag))
285285 then {
286286 let m = Address(af)
287287 let ax = valueOrErrorMessage(getString(I, v(m, w)), f("invalid withdrawal request"))
288288 let ay = F(ax)
289289 let y = ay._1
290290 let z = ay._2
291291 let A = ay._3
292292 let B = ay._4
293293 if ((y == d))
294294 then {
295295 let aj = [invoke(I, "deleteEntry", [v(m, w)], nil), invoke(I, "transferAsset", [af, z, M], nil)]
296296 if ((aj == aj))
297297 then $Tuple2(nil, aj)
298298 else throw("Strict value is not equal to itself.")
299299 }
300300 else h("invalid withdrawal request status")
301301 }
302302 else throw("Strict value is not equal to itself.")
303303 }
304304
305305
306306
307307 @Callable(Q)
308308 func claimWaves (af,w) = {
309309 let ag = S(Q)
310310 if ((ag == ag))
311311 then {
312312 let m = Address(af)
313313 let ap = valueOrErrorMessage(getInteger(I, o()), f("invalid period"))
314314 let ax = valueOrErrorMessage(getString(I, v(m, w)), f("invalid withdrawal request"))
315315 let az = F(ax)
316316 let y = az._1
317317 let z = az._2
318318 let A = az._3
319319 let B = az._4
320320 if ((y == e))
321321 then h("invalid withdrawal request status")
322322 else if ((A > ap))
323323 then h("invalid withdrawal request period")
324324 else {
325325 let at = valueOrErrorMessage(getInteger(I, p(ap)), f("invalid price"))
326326 let aA = if ((at > 0))
327327 then fraction(z, at, c)
328328 else 0
329329 let aj = [invoke(I, "stringEntry", [v(m, w), x(e, z, A, Q.transactionId)], nil), invoke(I, "burn", [z], nil), invoke(I, "transferWaves", [af, aA], nil)]
330330 $Tuple2(nil, aj)
331331 }
332332 }
333333 else throw("Strict value is not equal to itself.")
334334 }
335335
336336
337337
338338 @Callable(Q)
339339 func processBlocks (af) = {
340340 let ag = S(Q)
341341 if ((ag == ag))
342342 then {
343343 let m = Address(af)
344344 let ap = valueOrErrorMessage(getInteger(I, o()), f("invalid period"))
345345 let aB = valueOrErrorMessage(getInteger(I, s()), f("invalid period length"))
346346 let aC = valueOrErrorMessage(getInteger(I, r(ap)), f("invalid start height"))
347347 let at = valueOrErrorMessage(getInteger(I, p(ap)), f("invalid price"))
348348 let aD = valueOrErrorMessage(getInteger(I, u()), f("invalid next block to process"))
349349 let aE = if (if (if ((height >= aD))
350350 then if ((aD >= aC))
351351 then true
352352 else (ap == 0)
353353 else false)
354354 then ((aC + aB) > aD)
355355 else false)
356356 then valueOrErrorMessage(blockInfoByHeight(aD), f("invalid block info"))
357357 else h(f("invalid target block"))
358358 let aF = valueOrErrorMessage(T(aE.rewards, O), f("invalid treasury reward"))
359359 let aG = aE.generator
360360 let aH = valueOrErrorMessage(getInteger(I, t()), f("invalid block processing reward"))
361361 let ah = valueOrElse(getInteger(I, l(aG)), 0)
362362 let z = if ((at > 0))
363363 then fraction((aF - aH), c, at)
364364 else 0
365365 let aj = [invoke(I, "integerEntry", [u(), (aD + 1)], nil), invoke(I, "integerEntry", [l(aG), (ah + z)], nil), invoke(I, "transferWaves", [af, aH], nil)]
366366 $Tuple2(nil, aj)
367367 }
368368 else throw("Strict value is not equal to itself.")
369369 }
370370
371371
372372 @Verifier(aI)
373373 func aJ () = sigVerify(aI.bodyBytes, aI.proofs[0], aI.senderPublicKey)
374374

github/deemru/w8io/169f3d6 
62.03 ms