tx · 8DdYYNN1NFHZnMENXsWG6SSXmQZLanCoKXPMp65CLgkv

3N9wLKKtDBphos7U3xzsPqgvJJ5zPQEU6pV:  -0.01300000 Waves

2023.07.06 11:26 [2653809] smart account 3N9wLKKtDBphos7U3xzsPqgvJJ5zPQEU6pV > SELF 0.00000000 Waves

{ "type": 13, "id": "8DdYYNN1NFHZnMENXsWG6SSXmQZLanCoKXPMp65CLgkv", "fee": 1300000, "feeAssetId": null, "timestamp": 1688632023980, "version": 1, "sender": "3N9wLKKtDBphos7U3xzsPqgvJJ5zPQEU6pV", "senderPublicKey": "GKX7DbVJVEtTB6ak3PXWHNPUhC3jym3ozbtZ7a36rGu6", "proofs": [ "3bSWydxWWbRtZqxGBoyfES3NqDDgwtjHMYwrC2gqY8iRfCU2Xgxzzsf8Lz64Hs2rNaimzexP8X1QEEBsUSLEYYwd" ], "script": "base64:BgIKCAISBgoEAgEBASwAA1NFUAICX18ADUNPTlRSQUNUX05BTUUCD2NhbGN1bGF0b3IucmlkZQAGU0NBTEU4AIDC1y8AB1BFTkRJTkcCB1BFTkRJTkcACEZJTklTSEVEAghGSU5JU0hFRAAFV0FWRVMCBVdBVkVTAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUNQ09OVFJBQ1RfTkFNRQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzAQ9hc3NldElkVG9TdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAwkAAQIFByRtYXRjaDACBFVuaXQFBVdBVkVTCQACAQILTWF0Y2ggZXJyb3IBA2FicwEBbgMJAGYCAAAFAW4JAQEtAQUBbgUBbgERa2V5RmFjdG9yeUFkZHJlc3MACQC5CQIJAMwIAgICJXMJAMwIAgIHZmFjdG9yeQUDbmlsBQNTRVABE2tleU1hbmFnZXJQdWJsaWNLZXkACQC5CQIJAMwIAgICJXMJAMwIAgIQbWFuYWdlclB1YmxpY0tleQUDbmlsBQNTRVABDGtleUxwQXNzZXRJZAAJALkJAgkAzAgCAgIlcwkAzAgCAglscEFzc2V0SWQFA25pbAUDU0VQARdrZXlQcm94eVRyZWFzdXJ5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAg1wcm94eVRyZWFzdXJ5BQNuaWwFA1NFUAEWa2V5TWFpblRyZWFzdXJ5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAgxtYWluVHJlYXN1cnkFA25pbAUDU0VQAQtrZXlJbnZlc3RlZAEHYXNzZXRJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgIIaW52ZXN0ZWQJAMwIAgkBD2Fzc2V0SWRUb1N0cmluZwEFB2Fzc2V0SWQFA25pbAUDU0VQAQprZXlEb25hdGVkAQdhc3NldElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgdkb25hdGVkCQDMCAIJAQ9hc3NldElkVG9TdHJpbmcBBQdhc3NldElkBQNuaWwFA1NFUAEMa2V5QXZhaWxhYmxlAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIJYXZhaWxhYmxlCQDMCAIJAKUIAQULdXNlckFkZHJlc3MFA25pbAUDU0VQAQprZXlDbGFpbWVkAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIHY2xhaW1lZAkAzAgCCQClCAEFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEQa2V5Q3VycmVudFBlcmlvZAAJALkJAgkAzAgCAgIlcwkAzAgCAg1jdXJyZW50UGVyaW9kBQNuaWwFA1NFUAERa2V5UHJpY2VGb3JQZXJpb2QBBnBlcmlvZAkAuQkCCQDMCAICBCVzJWQJAMwIAgIFcHJpY2UJAMwIAgkApAMBBQZwZXJpb2QFA25pbAUDU0VQAQ5rZXlTdGFydEhlaWdodAEGcGVyaW9kCQC5CQIJAMwIAgIEJXMlZAkAzAgCAgtzdGFydEhlaWdodAkAzAgCCQCkAwEFBnBlcmlvZAUDbmlsBQNTRVABFGtleVBvd2VyTWFuYWdlckJvbnVzAQZwZXJpb2QJALkJAgkAzAgCAgQlcyVkCQDMCAICEXBvd2VyTWFuYWdlckJvbnVzCQDMCAIJAKQDAQUGcGVyaW9kBQNuaWwFA1NFUAEPa2V5UGVyaW9kTGVuZ3RoAAIQJXNfX3BlcmlvZExlbmd0aAEYa2V5QmxvY2tQcm9jZXNzaW5nUmV3YXJkAAIZJXNfX2Jsb2NrUHJvY2Vzc2luZ1Jld2FyZAEVa2V5TmV4dEJsb2NrVG9Qcm9jZXNzAAIWJXNfX25leHRCbG9ja1RvUHJvY2VzcwERa2V5QmxvY2tQcm9jZXNzZWQBBmhlaWdodAkAuQkCCQDMCAICBCVzJWQJAMwIAgIOYmxvY2tQcm9jZXNzZWQJAMwIAgkApAMBBQZoZWlnaHQFA25pbAUDU0VQAQ1rZXlXaXRoZHJhd2FsAAIOJXNfX3dpdGhkcmF3YWwBFGtleVdpdGhkcmF3YWxSZXF1ZXN0Agt1c2VyQWRkcmVzcwR0eElkCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICCndpdGhkcmF3YWwJAMwIAgkApQgBBQt1c2VyQWRkcmVzcwkAzAgCCQDYBAEFBHR4SWQFA25pbAUDU0VQARZ2YWx1ZVdpdGhkcmF3YWxSZXF1ZXN0BAZzdGF0dXMNbHBBc3NldEFtb3VudAx0YXJnZXRQZXJpb2QJY2xhaW1UeElkBAxjbGFpbVR4SWRTdHIEByRtYXRjaDAFCWNsYWltVHhJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIDCQABAgUHJG1hdGNoMAIEVW5pdAIEU09PTgkAAgECC01hdGNoIGVycm9yCQC5CQIJAMwIAgIIJXMlZCVkJXMJAMwIAgUGc3RhdHVzCQDMCAIJAKQDAQUNbHBBc3NldEFtb3VudAkAzAgCCQCkAwEFDHRhcmdldFBlcmlvZAkAzAgCBQxjbGFpbVR4SWRTdHIFA25pbAUDU0VQASFwYXJzZVdpdGhkcmF3YWxSZXF1ZXN0VmFsdWVPckZhaWwBAXMEBXBhcnRzCQC1CQIFAXMFA1NFUAMJAAACCQCQAwEFBXBhcnRzAAUEBnN0YXR1cwkAkQMCBQVwYXJ0cwABBA1scEFzc2V0QW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQVwYXJ0cwACCQEHd3JhcEVycgECFWludmFsaWQgbHBBc3NldEFtb3VudAQMdGFyZ2V0UGVyaW9kCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQVwYXJ0cwADCQEHd3JhcEVycgECFGludmFsaWQgdGFyZ2V0UGVyaW9kBAljbGFpbVR4SWQJAJEDAgUFcGFydHMABAkAlgoEBQZzdGF0dXMFDWxwQXNzZXRBbW91bnQFDHRhcmdldFBlcmlvZAUJY2xhaW1UeElkCQEIdGhyb3dFcnIBAiBpbnZhbGlkIHdpdGhkcmF3YWwgcmVxdWVzdCB2YWx1ZQAUZmFjdG9yeUFkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBEWtleUZhY3RvcnlBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFFGZhY3RvcnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECF2ludmFsaWQgZmFjdG9yeSBhZGRyZXNzAA9scEFzc2V0SWRPcHRpb24EByRtYXRjaDAFFGZhY3RvcnlBZGRyZXNzT3B0aW9uAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAEByRtYXRjaDEJAJ0IAgUBYQkBDGtleUxwQXNzZXRJZAADCQABAgUHJG1hdGNoMQIGU3RyaW5nBAFzBQckbWF0Y2gxCQDZBAEFAXMDCQABAgUHJG1hdGNoMQIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgAPbHBBc3NldElkT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFD2xwQXNzZXRJZE9wdGlvbgkBB3dyYXBFcnIBAhFpbnZhbGlkIGxwQXNzZXRJZAAacHJveHlUcmVhc3VyeUFkZHJlc3NPcHRpb24EByRtYXRjaDAFFGZhY3RvcnlBZGRyZXNzT3B0aW9uAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAEByRtYXRjaDEJAJ0IAgUBYQkBF2tleVByb3h5VHJlYXN1cnlBZGRyZXNzAAMJAAECBQckbWF0Y2gxAgZTdHJpbmcEAXMFByRtYXRjaDEJAKYIAQUBcwMJAAECBQckbWF0Y2gxAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABpwcm94eVRyZWFzdXJ5QWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRpwcm94eVRyZWFzdXJ5QWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAh5pbnZhbGlkIHByb3h5IHRyZWFzdXJ5IGFkZHJlc3MAGW1haW5UcmVhc3VyeUFkZHJlc3NPcHRpb24EByRtYXRjaDAFFGZhY3RvcnlBZGRyZXNzT3B0aW9uAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAEByRtYXRjaDEJAJ0IAgUBYQkBFmtleU1haW5UcmVhc3VyeUFkZHJlc3MAAwkAAQIFByRtYXRjaDECBlN0cmluZwQBcwUHJG1hdGNoMQkApggBBQFzAwkAAQIFByRtYXRjaDECBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAGW1haW5UcmVhc3VyeUFkZHJlc3NPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUZbWFpblRyZWFzdXJ5QWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAh1pbnZhbGlkIG1haW4gdHJlYXN1cnkgYWRkcmVzcwEZZ2V0TWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAFFGZhY3RvcnlBZGRyZXNzT3B0aW9uAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAmZhBQckbWF0Y2gwBAckbWF0Y2gxCQCdCAIFAmZhCQETa2V5TWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMQIGU3RyaW5nBANwdWIFByRtYXRjaDEJANkEAQUDcHViBQR1bml0BQR1bml0AQtvbmx5QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAQtvbmx5RmFjdG9yeQEBaQkBC29ubHlBZGRyZXNzAgUBaQUUZmFjdG9yeUFkZHJlc3NPckZhaWwBD3Jld2FyZEZvck9wdGlvbgIHcmV3YXJkcwZ0YXJnZXQEAXMJAJADAQUHcmV3YXJkcwQLJHQwNDczNTQ3NjAJAJEDAgUHcmV3YXJkcwAABAJhMAgFCyR0MDQ3MzU0NzYwAl8xBAJyMAgFCyR0MDQ3MzU0NzYwAl8yBAskdDA0NzYzNDc4OAkAkQMCBQdyZXdhcmRzAAEEAmExCAULJHQwNDc2MzQ3ODgCXzEEAnIxCAULJHQwNDc2MzQ3ODgCXzIECyR0MDQ3OTE0ODE2CQCRAwIFB3Jld2FyZHMAAgQCYTIIBQskdDA0NzkxNDgxNgJfMQQCcjIIBQskdDA0NzkxNDgxNgJfMgMDCQBmAgUBcwAACQAAAgUCYTAFBnRhcmdldAcFAnIwAwMJAGYCBQFzAAEJAAACBQJhMQUGdGFyZ2V0BwUCcjEDAwkAZgIFAXMAAgkAAAIFAmEyBQZ0YXJnZXQHBQJyMgUEdW5pdAEQZmluYWxpemVJTlRFUk5BTAMYbmV3VHJlYXN1cnlWb2x1bWVJbldhdmVzF3B3ck1hbmFnZXJzQm9udXNJbldhdmVzIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmBBJkb25hdGVkV2F2ZXNBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJAQprZXlEb25hdGVkAQUEdW5pdAAABBNpbnZlc3RlZFdhdmVzQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFFGZhY3RvcnlBZGRyZXNzT3JGYWlsCQELa2V5SW52ZXN0ZWQBBQR1bml0AAAEHGN1cnJlbnRUcmVhc3VyeVZvbHVtZUluV2F2ZXMJAGQCBRJkb25hdGVkV2F2ZXNBbW91bnQFE2ludmVzdGVkV2F2ZXNBbW91bnQECXByb2ZpdFJhdwkAZQIFGG5ld1RyZWFzdXJ5Vm9sdW1lSW5XYXZlcwUcY3VycmVudFRyZWFzdXJ5Vm9sdW1lSW5XYXZlcwQWcHdyTWFuYWdlcnNCb251c0Ftb3VudAMDCQBmAgUJcHJvZml0UmF3AAAJAGcCBQlwcm9maXRSYXcFF3B3ck1hbmFnZXJzQm9udXNJbldhdmVzBwUXcHdyTWFuYWdlcnNCb251c0luV2F2ZXMJAQh0aHJvd0VycgECH3Bvd2VyIGJvbnVzIGlzIG1vcmUgdGhhbiBwcm9maXQEBnByb2ZpdAkAZQIFCXByb2ZpdFJhdwUWcHdyTWFuYWdlcnNCb251c0Ftb3VudAQMZG9uYXRpb25QYXJ0AwkAZgIFHGN1cnJlbnRUcmVhc3VyeVZvbHVtZUluV2F2ZXMAAAkAawMFEmRvbmF0ZWRXYXZlc0Ftb3VudAUGU0NBTEU4BRxjdXJyZW50VHJlYXN1cnlWb2x1bWVJbldhdmVzAAAEFWRvbmF0aW9uUHJvZml0UGFydFJhdwkAawMFBnByb2ZpdAUMZG9uYXRpb25QYXJ0BQZTQ0FMRTgEF2ludmVzdG1lbnRQcm9maXRQYXJ0UmF3CQBlAgUGcHJvZml0BRVkb25hdGlvblByb2ZpdFBhcnRSYXcEI3RyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmQWJzCQEDYWJzAQUgdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWYEEGFtb3VudFRvRG9uYXRpb24JAGsDBRdpbnZlc3RtZW50UHJvZml0UGFydFJhdwMJAGYCAAAFIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmBSN0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZkFicwAABQZTQ0FMRTgEEmFtb3VudFRvSW52ZXN0bWVudAkAawMFFWRvbmF0aW9uUHJvZml0UGFydFJhdwMJAGYCBSB0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZgAABSN0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZkFicwAABQZTQ0FMRTgEEmRvbmF0aW9uUHJvZml0UGFydAkAZAIJAGUCBRVkb25hdGlvblByb2ZpdFBhcnRSYXcFEmFtb3VudFRvSW52ZXN0bWVudAUQYW1vdW50VG9Eb25hdGlvbgQUaW52ZXN0bWVudFByb2ZpdFBhcnQJAGQCCQBlAgUXaW52ZXN0bWVudFByb2ZpdFBhcnRSYXcFEGFtb3VudFRvRG9uYXRpb24FEmFtb3VudFRvSW52ZXN0bWVudAQYZG9uYXRlZFdhdmVzQW1vdW50TmV3UmF3CQBkAgUSZG9uYXRlZFdhdmVzQW1vdW50BRJkb25hdGlvblByb2ZpdFBhcnQEGWludmVzdGVkV2F2ZXNBbW91bnROZXdSYXcJAGQCBRNpbnZlc3RlZFdhdmVzQW1vdW50BRRpbnZlc3RtZW50UHJvZml0UGFydAQPZG9uYXRlZFBhcnREZWJ0CQCXAwEJAMwIAgAACQDMCAIFGGRvbmF0ZWRXYXZlc0Ftb3VudE5ld1JhdwUDbmlsBBBpbnZlc3RlZFBhcnREZWJ0CQCXAwEJAMwIAgAACQDMCAIFGWludmVzdGVkV2F2ZXNBbW91bnROZXdSYXcFA25pbAQVZG9uYXRlZFdhdmVzQW1vdW50TmV3CQBkAgkAlgMBCQDMCAIAAAkAzAgCBRhkb25hdGVkV2F2ZXNBbW91bnROZXdSYXcFA25pbAUQaW52ZXN0ZWRQYXJ0RGVidAQWaW52ZXN0ZWRXYXZlc0Ftb3VudE5ldwkAZAIJAJYDAQkAzAgCAAAJAMwIAgUZaW52ZXN0ZWRXYXZlc0Ftb3VudE5ld1JhdwUDbmlsBQ9kb25hdGVkUGFydERlYnQED2xwQXNzZXRRdWFudGl0eQgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQ9scEFzc2V0SWRPckZhaWwJAQd3cmFwRXJyAQIUaW52YWxpZCBscEFzc2V0IGluZm8IcXVhbnRpdHkECG5ld1ByaWNlCQBrAwUWaW52ZXN0ZWRXYXZlc0Ftb3VudE5ldwUGU0NBTEU4BQ9scEFzc2V0UXVhbnRpdHkEE2NoZWNrSWZQcmljZU5vdFplcm8DCQECIT0CBQhuZXdQcmljZQAABgkBCHRocm93RXJyAQIUTFAgcHJpY2UgY2Fubm90IGJlIDADCQAAAgUTY2hlY2tJZlByaWNlTm90WmVybwUTY2hlY2tJZlByaWNlTm90WmVybwQTbHBBc3NldEFtb3VudFRvQnVybgkBC3ZhbHVlT3JFbHNlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBDWtleVdpdGhkcmF3YWwAAAAEEHBheW1lbnRBbW91bnRNaW4JAJYDAQkAzAgCAAAJAMwIAgkAawMFE2xwQXNzZXRBbW91bnRUb0J1cm4FCG5ld1ByaWNlBQZTQ0FMRTgFA25pbAQYZmluYWxJbnZlc3RlZFdhdmVzQW1vdW50CQBlAgUWaW52ZXN0ZWRXYXZlc0Ftb3VudE5ldwUQcGF5bWVudEFtb3VudE1pbgQUbHBBc3NldEZpbmFsUXVhbnRpdHkJAGUCBQ9scEFzc2V0UXVhbnRpdHkFE2xwQXNzZXRBbW91bnRUb0J1cm4JAJgKBgUQcGF5bWVudEFtb3VudE1pbgUYZmluYWxJbnZlc3RlZFdhdmVzQW1vdW50BRVkb25hdGVkV2F2ZXNBbW91bnROZXcFCG5ld1ByaWNlBRNscEFzc2V0QW1vdW50VG9CdXJuBRRscEFzc2V0RmluYWxRdWFudGl0eQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBaQEIZmluYWxpemUEEHVzZXJBZGRyZXNzQnl0ZXMYbmV3VHJlYXN1cnlWb2x1bWVJbldhdmVzF3B3ck1hbmFnZXJzQm9udXNJbldhdmVzIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmBAtjaGVja0NhbGxlcgkBC29ubHlGYWN0b3J5AQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEE2N1cnJlbnRQZXJpb2RPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBEGtleUN1cnJlbnRQZXJpb2QACQEHd3JhcEVycgECDmludmFsaWQgcGVyaW9kBAxwZXJpb2RMZW5ndGgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBD2tleVBlcmlvZExlbmd0aAAJAQd3cmFwRXJyAQIVaW52YWxpZCBwZXJpb2QgbGVuZ3RoBBJjdXJyZW50U3RhcnRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBDmtleVN0YXJ0SGVpZ2h0AQUTY3VycmVudFBlcmlvZE9yRmFpbAkBB3dyYXBFcnIBAhRpbnZhbGlkIHN0YXJ0IGhlaWdodAQSY3VycmVudFByaWNlT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARFrZXlQcmljZUZvclBlcmlvZAEFE2N1cnJlbnRQZXJpb2RPckZhaWwJAQd3cmFwRXJyAQINaW52YWxpZCBwcmljZQQSbmV4dEJsb2NrVG9Qcm9jZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJARVrZXlOZXh0QmxvY2tUb1Byb2Nlc3MACQEHd3JhcEVycgECHWludmFsaWQgbmV4dCBibG9jayB0byBwcm9jZXNzBA9wZXJpb2RFbmRIZWlnaHQJAGUCCQBkAgUSY3VycmVudFN0YXJ0SGVpZ2h0BQxwZXJpb2RMZW5ndGgAAQQGY2hlY2tzCQDMCAIDCQAAAggFAWkMb3JpZ2luQ2FsbGVyBRltYWluVHJlYXN1cnlBZGRyZXNzT3JGYWlsBgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQJAMwIAgMJAGYCBRJuZXh0QmxvY2tUb1Byb2Nlc3MFD3BlcmlvZEVuZEhlaWdodAYJAQh0aHJvd0VycgECEnVucHJvY2Vzc2VkIGJsb2NrcwkAzAgCAwkAZwIFGG5ld1RyZWFzdXJ5Vm9sdW1lSW5XYXZlcwAABgkBCHRocm93RXJyAQIbaW52YWxpZCBuZXcgdHJlYXN1cnkgdm9sdW1lCQDMCAIDCQBnAgUXcHdyTWFuYWdlcnNCb251c0luV2F2ZXMAAAYJAQh0aHJvd0VycgECGmludmFsaWQgUFdSIG1hbmFnZXJzIGJvbnVzCQDMCAIDAwkAZwIFIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmCQEBLQEFBlNDQUxFOAkAZwIFBlNDQUxFOAUgdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWYHBgkBCHRocm93RXJyAQIzaW52YWxpZCB0cmVhc3VyeSB2b2x1bWUgZGlmZiBhbGxvY2F0aW9uIGNvZWZmaWNpZW50BQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEEmRvbmF0ZWRXYXZlc0Ftb3VudAkBC3ZhbHVlT3JFbHNlAgkAmggCBRRmYWN0b3J5QWRkcmVzc09yRmFpbAkBCmtleURvbmF0ZWQBBQR1bml0AAAEE2ludmVzdGVkV2F2ZXNBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJAQtrZXlJbnZlc3RlZAEFBHVuaXQAAAQcY3VycmVudFRyZWFzdXJ5Vm9sdW1lSW5XYXZlcwkAZAIFEmRvbmF0ZWRXYXZlc0Ftb3VudAUTaW52ZXN0ZWRXYXZlc0Ftb3VudAQJcHJvZml0UmF3CQBlAgUYbmV3VHJlYXN1cnlWb2x1bWVJbldhdmVzBRxjdXJyZW50VHJlYXN1cnlWb2x1bWVJbldhdmVzBBZwd3JNYW5hZ2Vyc0JvbnVzQW1vdW50AwMJAGYCBQlwcm9maXRSYXcAAAkAZwIFCXByb2ZpdFJhdwUXcHdyTWFuYWdlcnNCb251c0luV2F2ZXMHBRdwd3JNYW5hZ2Vyc0JvbnVzSW5XYXZlcwkBCHRocm93RXJyAQIfcG93ZXIgYm9udXMgaXMgbW9yZSB0aGFuIHByb2ZpdAQGcHJvZml0CQBlAgUJcHJvZml0UmF3BRZwd3JNYW5hZ2Vyc0JvbnVzQW1vdW50BAxkb25hdGlvblBhcnQDCQBmAgUcY3VycmVudFRyZWFzdXJ5Vm9sdW1lSW5XYXZlcwAACQBrAwUSZG9uYXRlZFdhdmVzQW1vdW50BQZTQ0FMRTgFHGN1cnJlbnRUcmVhc3VyeVZvbHVtZUluV2F2ZXMAAAQVZG9uYXRpb25Qcm9maXRQYXJ0UmF3CQBrAwUGcHJvZml0BQxkb25hdGlvblBhcnQFBlNDQUxFOAQXaW52ZXN0bWVudFByb2ZpdFBhcnRSYXcJAGUCBQZwcm9maXQFFWRvbmF0aW9uUHJvZml0UGFydFJhdwQjdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWZBYnMJAQNhYnMBBSB0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZgQQYW1vdW50VG9Eb25hdGlvbgkAawMFF2ludmVzdG1lbnRQcm9maXRQYXJ0UmF3AwkAZgIAAAUgdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWYFI3RyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmQWJzAAAFBlNDQUxFOAQSYW1vdW50VG9JbnZlc3RtZW50CQBrAwUVZG9uYXRpb25Qcm9maXRQYXJ0UmF3AwkAZgIFIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmAAAFI3RyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmQWJzAAAFBlNDQUxFOAQSZG9uYXRpb25Qcm9maXRQYXJ0CQBkAgkAZQIFFWRvbmF0aW9uUHJvZml0UGFydFJhdwUSYW1vdW50VG9JbnZlc3RtZW50BRBhbW91bnRUb0RvbmF0aW9uBBRpbnZlc3RtZW50UHJvZml0UGFydAkAZAIJAGUCBRdpbnZlc3RtZW50UHJvZml0UGFydFJhdwUQYW1vdW50VG9Eb25hdGlvbgUSYW1vdW50VG9JbnZlc3RtZW50BBhkb25hdGVkV2F2ZXNBbW91bnROZXdSYXcJAGQCBRJkb25hdGVkV2F2ZXNBbW91bnQFEmRvbmF0aW9uUHJvZml0UGFydAQZaW52ZXN0ZWRXYXZlc0Ftb3VudE5ld1JhdwkAZAIFE2ludmVzdGVkV2F2ZXNBbW91bnQFFGludmVzdG1lbnRQcm9maXRQYXJ0BA9kb25hdGVkUGFydERlYnQJAJcDAQkAzAgCAAAJAMwIAgUYZG9uYXRlZFdhdmVzQW1vdW50TmV3UmF3BQNuaWwEEGludmVzdGVkUGFydERlYnQJAJcDAQkAzAgCAAAJAMwIAgUZaW52ZXN0ZWRXYXZlc0Ftb3VudE5ld1JhdwUDbmlsBBVkb25hdGVkV2F2ZXNBbW91bnROZXcJAGQCCQCWAwEJAMwIAgAACQDMCAIFGGRvbmF0ZWRXYXZlc0Ftb3VudE5ld1JhdwUDbmlsBRBpbnZlc3RlZFBhcnREZWJ0BBZpbnZlc3RlZFdhdmVzQW1vdW50TmV3CQBkAgkAlgMBCQDMCAIAAAkAzAgCBRlpbnZlc3RlZFdhdmVzQW1vdW50TmV3UmF3BQNuaWwFD2RvbmF0ZWRQYXJ0RGVidAQJbmV3UGVyaW9kCQBkAgUTY3VycmVudFBlcmlvZE9yRmFpbAABBA9scEFzc2V0UXVhbnRpdHkICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUPbHBBc3NldElkT3JGYWlsCQEHd3JhcEVycgECFGludmFsaWQgbHBBc3NldCBpbmZvCHF1YW50aXR5BAhuZXdQcmljZQkAawMFFmludmVzdGVkV2F2ZXNBbW91bnROZXcFBlNDQUxFOAUPbHBBc3NldFF1YW50aXR5BBNjaGVja0lmUHJpY2VOb3RaZXJvAwkBAiE9AgUIbmV3UHJpY2UAAAYJAQh0aHJvd0VycgECFExQIHByaWNlIGNhbm5vdCBiZSAwAwkAAAIFE2NoZWNrSWZQcmljZU5vdFplcm8FE2NoZWNrSWZQcmljZU5vdFplcm8EE2xwQXNzZXRBbW91bnRUb0J1cm4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUUZmFjdG9yeUFkZHJlc3NPckZhaWwJAQ1rZXlXaXRoZHJhd2FsAAAABBBwYXltZW50QW1vdW50TWluCQCWAwEJAMwIAgAACQDMCAIJAGsDBRNscEFzc2V0QW1vdW50VG9CdXJuBQhuZXdQcmljZQUGU0NBTEU4BQNuaWwEDXBheW1lbnRPcHRpb24DCQBmAgkAkAMBCAUBaQhwYXltZW50cwAACQCRAwIIBQFpCHBheW1lbnRzAAAFBHVuaXQEDXBheW1lbnRBbW91bnQICQEFdmFsdWUBBQ1wYXltZW50T3B0aW9uBmFtb3VudAQOcGF5bWVudEFzc2V0SWQICQEFdmFsdWUBBQ1wYXltZW50T3B0aW9uB2Fzc2V0SWQEDGNoZWNrUGF5bWVudAMDCQAAAgUQcGF5bWVudEFtb3VudE1pbgAABgMDCQECIT0CBQ1wYXltZW50T3B0aW9uBQR1bml0CQAAAgUOcGF5bWVudEFzc2V0SWQFBHVuaXQHCQBnAgUNcGF5bWVudEFtb3VudAUQcGF5bWVudEFtb3VudE1pbgcGCQEIdGhyb3dFcnIBCQCsAgICJmludmFsaWQgcGF5bWVudHMsIHBheW1lbnQgYW1vdW50IG1pbjogCQCkAwEFEHBheW1lbnRBbW91bnRNaW4DCQAAAgUMY2hlY2tQYXltZW50BQxjaGVja1BheW1lbnQEB2FjdGlvbnMDCQECIT0CBQ1wYXltZW50T3B0aW9uBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFFGZhY3RvcnlBZGRyZXNzT3JGYWlsBQ1wYXltZW50QW1vdW50BQ5wYXltZW50QXNzZXRJZAUDbmlsBQNuaWwEDmZhY3RvcnlBY3Rpb25zCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCDGludGVnZXJFbnRyeQkAzAgCCQEUa2V5UG93ZXJNYW5hZ2VyQm9udXMBBRNjdXJyZW50UGVyaW9kT3JGYWlsCQDMCAIFFnB3ck1hbmFnZXJzQm9udXNBbW91bnQFA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCDGludGVnZXJFbnRyeQkAzAgCCQEQa2V5Q3VycmVudFBlcmlvZAAJAMwIAgUJbmV3UGVyaW9kBQNuaWwFA25pbAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAgxpbnRlZ2VyRW50cnkJAMwIAgkBEWtleVByaWNlRm9yUGVyaW9kAQUJbmV3UGVyaW9kCQDMCAIFCG5ld1ByaWNlBQNuaWwFA25pbAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAgxpbnRlZ2VyRW50cnkJAMwIAgkBDmtleVN0YXJ0SGVpZ2h0AQUJbmV3UGVyaW9kCQDMCAIJAGQCBQ9wZXJpb2RFbmRIZWlnaHQAAQUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIEYnVybgkAzAgCBRNscEFzc2V0QW1vdW50VG9CdXJuBQNuaWwFA25pbAkAzAgCCQD8BwQFFGZhY3RvcnlBZGRyZXNzT3JGYWlsAgxpbnRlZ2VyRW50cnkJAMwIAgkBDWtleVdpdGhkcmF3YWwACQDMCAIAAAUDbmlsBQNuaWwJAMwIAgkA/AcEBRRmYWN0b3J5QWRkcmVzc09yRmFpbAIMaW50ZWdlckVudHJ5CQDMCAIJAQtrZXlJbnZlc3RlZAEFBHVuaXQJAMwIAgkAZQIFFmludmVzdGVkV2F2ZXNBbW91bnROZXcFEHBheW1lbnRBbW91bnRNaW4FA25pbAUDbmlsCQDMCAIJAPwHBAUUZmFjdG9yeUFkZHJlc3NPckZhaWwCDGludGVnZXJFbnRyeQkAzAgCCQEKa2V5RG9uYXRlZAEFBHVuaXQJAMwIAgUVZG9uYXRlZFdhdmVzQW1vdW50TmV3BQNuaWwFA25pbAUDbmlsCQCUCgIFB2FjdGlvbnMFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAEMrjSI=", "chainId": 84, "height": 2653809, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B2K7kQfptcWhnEpbWULCVwZbwkveix5Pb3yeVoQyCgc2 Next: 5Zw1JHvQr7soHtAaHjxUzGsgXK43wpqmjjdvmAo6Yrwt Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "__"
5+
6+let b = "calculator.ride"
7+
8+let c = 100000000
9+
10+let d = "PENDING"
11+
12+let e = "FINISHED"
13+
14+let f = "WAVES"
15+
16+func g (h) = ((b + ": ") + h)
17+
18+
19+func i (h) = throw(g(h))
20+
21+
22+func j (k) = {
23+ let l = k
24+ if ($isInstanceOf(l, "ByteVector"))
25+ then {
26+ let m = l
27+ toBase58String(m)
28+ }
29+ else if ($isInstanceOf(l, "Unit"))
30+ then f
31+ else throw("Match error")
32+ }
33+
34+
35+func n (o) = if ((0 > o))
36+ then -(o)
37+ else o
38+
39+
40+func p () = makeString(["%s", "factory"], a)
41+
42+
43+func q () = makeString(["%s", "managerPublicKey"], a)
44+
45+
46+func r () = makeString(["%s", "lpAssetId"], a)
47+
48+
49+func s () = makeString(["%s", "proxyTreasury"], a)
50+
51+
52+func t () = makeString(["%s", "mainTreasury"], a)
53+
54+
55+func u (k) = makeString(["%s%s", "invested", j(k)], a)
56+
57+
58+func v (k) = makeString(["%s%s", "donated", j(k)], a)
59+
60+
61+func w (x) = makeString(["%s%s", "available", toString(x)], a)
62+
63+
64+func y (x) = makeString(["%s%s", "claimed", toString(x)], a)
65+
66+
67+func z () = makeString(["%s", "currentPeriod"], a)
68+
69+
70+func A (B) = makeString(["%s%d", "price", toString(B)], a)
71+
72+
73+func C (B) = makeString(["%s%d", "startHeight", toString(B)], a)
74+
75+
76+func D (B) = makeString(["%s%d", "powerManagerBonus", toString(B)], a)
77+
78+
79+func E () = "%s__periodLength"
80+
81+
82+func F () = "%s__blockProcessingReward"
83+
84+
85+func G () = "%s__nextBlockToProcess"
86+
87+
88+func H (I) = makeString(["%s%d", "blockProcessed", toString(I)], a)
89+
90+
91+func J () = "%s__withdrawal"
92+
93+
94+func K (x,L) = makeString(["%s%s%s", "withdrawal", toString(x), toBase58String(L)], a)
95+
96+
97+func M (N,O,P,Q) = {
98+ let R = {
99+ let l = Q
100+ if ($isInstanceOf(l, "ByteVector"))
101+ then {
102+ let m = l
103+ toBase58String(m)
104+ }
105+ else if ($isInstanceOf(l, "Unit"))
106+ then "SOON"
107+ else throw("Match error")
108+ }
109+ makeString(["%s%d%d%s", N, toString(O), toString(P), R], a)
110+ }
111+
112+
113+func S (h) = {
114+ let T = split(h, a)
115+ if ((size(T) == 5))
116+ then {
117+ let N = T[1]
118+ let O = valueOrErrorMessage(parseInt(T[2]), g("invalid lpAssetAmount"))
119+ let P = valueOrErrorMessage(parseInt(T[3]), g("invalid targetPeriod"))
120+ let Q = T[4]
121+ $Tuple4(N, O, P, Q)
122+ }
123+ else i("invalid withdrawal request value")
124+ }
125+
126+
127+let U = {
128+ let l = getString(this, p())
129+ if ($isInstanceOf(l, "String"))
130+ then {
131+ let h = l
132+ addressFromString(h)
133+ }
134+ else if ($isInstanceOf(l, "Unit"))
135+ then unit
136+ else throw("Match error")
137+ }
138+
139+let V = valueOrErrorMessage(U, g("invalid factory address"))
140+
141+let W = {
142+ let l = U
143+ if ($isInstanceOf(l, "Address"))
144+ then {
145+ let X = l
146+ let Y = getString(X, r())
147+ if ($isInstanceOf(Y, "String"))
148+ then {
149+ let h = Y
150+ fromBase58String(h)
151+ }
152+ else if ($isInstanceOf(Y, "Unit"))
153+ then unit
154+ else throw("Match error")
155+ }
156+ else if ($isInstanceOf(l, "Unit"))
157+ then unit
158+ else throw("Match error")
159+ }
160+
161+let Z = valueOrErrorMessage(W, g("invalid lpAssetId"))
162+
163+let aa = {
164+ let l = U
165+ if ($isInstanceOf(l, "Address"))
166+ then {
167+ let X = l
168+ let Y = getString(X, s())
169+ if ($isInstanceOf(Y, "String"))
170+ then {
171+ let h = Y
172+ addressFromString(h)
173+ }
174+ else if ($isInstanceOf(Y, "Unit"))
175+ then unit
176+ else throw("Match error")
177+ }
178+ else if ($isInstanceOf(l, "Unit"))
179+ then unit
180+ else throw("Match error")
181+ }
182+
183+let ab = valueOrErrorMessage(aa, g("invalid proxy treasury address"))
184+
185+let ac = {
186+ let l = U
187+ if ($isInstanceOf(l, "Address"))
188+ then {
189+ let X = l
190+ let Y = getString(X, t())
191+ if ($isInstanceOf(Y, "String"))
192+ then {
193+ let h = Y
194+ addressFromString(h)
195+ }
196+ else if ($isInstanceOf(Y, "Unit"))
197+ then unit
198+ else throw("Match error")
199+ }
200+ else if ($isInstanceOf(l, "Unit"))
201+ then unit
202+ else throw("Match error")
203+ }
204+
205+let ad = valueOrErrorMessage(ac, g("invalid main treasury address"))
206+
207+func ae () = {
208+ let l = U
209+ if ($isInstanceOf(l, "Address"))
210+ then {
211+ let af = l
212+ let Y = getString(af, q())
213+ if ($isInstanceOf(Y, "String"))
214+ then {
215+ let ag = Y
216+ fromBase58String(ag)
217+ }
218+ else unit
219+ }
220+ else unit
221+ }
222+
223+
224+func ah (ai,aj) = if ((ai.caller == aj))
225+ then true
226+ else i("permission denied")
227+
228+
229+func ak (ai) = ah(ai, V)
230+
231+
232+func al (am,an) = {
233+ let h = size(am)
234+ let ao = am[0]
235+ let ap = ao._1
236+ let aq = ao._2
237+ let ar = am[1]
238+ let as = ar._1
239+ let at = ar._2
240+ let au = am[2]
241+ let av = au._1
242+ let aw = au._2
243+ if (if ((h > 0))
244+ then (ap == an)
245+ else false)
246+ then aq
247+ else if (if ((h > 1))
248+ then (as == an)
249+ else false)
250+ then at
251+ else if (if ((h > 2))
252+ then (av == an)
253+ else false)
254+ then aw
255+ else unit
256+ }
257+
258+
259+func ax (ay,az,aA) = {
260+ let aB = valueOrElse(getInteger(V, v(unit)), 0)
261+ let aC = valueOrElse(getInteger(V, u(unit)), 0)
262+ let aD = (aB + aC)
263+ let aE = (ay - aD)
264+ let aF = if (if ((aE > 0))
265+ then (aE >= az)
266+ else false)
267+ then az
268+ else i("power bonus is more than profit")
269+ let aG = (aE - aF)
270+ let aH = if ((aD > 0))
271+ then fraction(aB, c, aD)
272+ else 0
273+ let aI = fraction(aG, aH, c)
274+ let aJ = (aG - aI)
275+ let aK = n(aA)
276+ let aL = fraction(aJ, if ((0 > aA))
277+ then aK
278+ else 0, c)
279+ let aM = fraction(aI, if ((aA > 0))
280+ then aK
281+ else 0, c)
282+ let aN = ((aI - aM) + aL)
283+ let aO = ((aJ - aL) + aM)
284+ let aP = (aB + aN)
285+ let aQ = (aC + aO)
286+ let aR = min([0, aP])
287+ let aS = min([0, aQ])
288+ let aT = (max([0, aP]) + aS)
289+ let aU = (max([0, aQ]) + aR)
290+ let aV = valueOrErrorMessage(assetInfo(Z), g("invalid lpAsset info")).quantity
291+ let aW = fraction(aU, c, aV)
292+ let aX = if ((aW != 0))
293+ then true
294+ else i("LP price cannot be 0")
295+ if ((aX == aX))
296+ then {
297+ let aY = valueOrElse(getInteger(V, J()), 0)
298+ let aZ = max([0, fraction(aY, aW, c)])
299+ let ba = (aU - aZ)
300+ let bb = (aV - aY)
301+ $Tuple6(aZ, ba, aT, aW, aY, bb)
302+ }
303+ else throw("Strict value is not equal to itself.")
304+ }
305+
306+
307+@Callable(ai)
308+func finalize (bc,ay,az,aA) = {
309+ let bd = ak(ai)
310+ if ((bd == bd))
311+ then {
312+ let be = valueOrErrorMessage(getInteger(V, z()), g("invalid period"))
313+ let bf = valueOrErrorMessage(getInteger(V, E()), g("invalid period length"))
314+ let bg = valueOrErrorMessage(getInteger(V, C(be)), g("invalid start height"))
315+ let bh = valueOrErrorMessage(getInteger(V, A(be)), g("invalid price"))
316+ let bi = valueOrErrorMessage(getInteger(V, G()), g("invalid next block to process"))
317+ let bj = ((bg + bf) - 1)
318+ let bk = [if ((ai.originCaller == ad))
319+ then true
320+ else i("permission denied"), if ((bi > bj))
321+ then true
322+ else i("unprocessed blocks"), if ((ay >= 0))
323+ then true
324+ else i("invalid new treasury volume"), if ((az >= 0))
325+ then true
326+ else i("invalid PWR managers bonus"), if (if ((aA >= -(c)))
327+ then (c >= aA)
328+ else false)
329+ then true
330+ else i("invalid treasury volume diff allocation coefficient")]
331+ if ((bk == bk))
332+ then {
333+ let aB = valueOrElse(getInteger(V, v(unit)), 0)
334+ let aC = valueOrElse(getInteger(V, u(unit)), 0)
335+ let aD = (aB + aC)
336+ let aE = (ay - aD)
337+ let aF = if (if ((aE > 0))
338+ then (aE >= az)
339+ else false)
340+ then az
341+ else i("power bonus is more than profit")
342+ let aG = (aE - aF)
343+ let aH = if ((aD > 0))
344+ then fraction(aB, c, aD)
345+ else 0
346+ let aI = fraction(aG, aH, c)
347+ let aJ = (aG - aI)
348+ let aK = n(aA)
349+ let aL = fraction(aJ, if ((0 > aA))
350+ then aK
351+ else 0, c)
352+ let aM = fraction(aI, if ((aA > 0))
353+ then aK
354+ else 0, c)
355+ let aN = ((aI - aM) + aL)
356+ let aO = ((aJ - aL) + aM)
357+ let aP = (aB + aN)
358+ let aQ = (aC + aO)
359+ let aR = min([0, aP])
360+ let aS = min([0, aQ])
361+ let aT = (max([0, aP]) + aS)
362+ let aU = (max([0, aQ]) + aR)
363+ let bl = (be + 1)
364+ let aV = valueOrErrorMessage(assetInfo(Z), g("invalid lpAsset info")).quantity
365+ let aW = fraction(aU, c, aV)
366+ let aX = if ((aW != 0))
367+ then true
368+ else i("LP price cannot be 0")
369+ if ((aX == aX))
370+ then {
371+ let aY = valueOrElse(getInteger(V, J()), 0)
372+ let aZ = max([0, fraction(aY, aW, c)])
373+ let bm = if ((size(ai.payments) > 0))
374+ then ai.payments[0]
375+ else unit
376+ let bn = value(bm).amount
377+ let bo = value(bm).assetId
378+ let bp = if (if ((aZ == 0))
379+ then true
380+ else if (if ((bm != unit))
381+ then (bo == unit)
382+ else false)
383+ then (bn >= aZ)
384+ else false)
385+ then true
386+ else i(("invalid payments, payment amount min: " + toString(aZ)))
387+ if ((bp == bp))
388+ then {
389+ let bq = if ((bm != unit))
390+ then [ScriptTransfer(V, bn, bo)]
391+ else nil
392+ let br = [invoke(V, "integerEntry", [D(be), aF], nil), invoke(V, "integerEntry", [z(), bl], nil), invoke(V, "integerEntry", [A(bl), aW], nil), invoke(V, "integerEntry", [C(bl), (bj + 1)], nil), invoke(V, "burn", [aY], nil), invoke(V, "integerEntry", [J(), 0], nil), invoke(V, "integerEntry", [u(unit), (aU - aZ)], nil), invoke(V, "integerEntry", [v(unit), aT], nil)]
393+ $Tuple2(bq, br)
394+ }
395+ else throw("Strict value is not equal to itself.")
396+ }
397+ else throw("Strict value is not equal to itself.")
398+ }
399+ else throw("Strict value is not equal to itself.")
400+ }
401+ else throw("Strict value is not equal to itself.")
402+ }
403+
404+

github/deemru/w8io/873ac7e 
26.16 ms