tx · 3QmGLKYytno6jaX9QVTynJDtKtEAE6Tg7FMMXKHuNsQm

3MrtFvvc7QBGaNXke4B8T7brYidircMU8pM:  -0.01400000 Waves

2023.02.23 12:16 [2462104] smart account 3MrtFvvc7QBGaNXke4B8T7brYidircMU8pM > SELF 0.00000000 Waves

{ "type": 13, "id": "3QmGLKYytno6jaX9QVTynJDtKtEAE6Tg7FMMXKHuNsQm", "fee": 1400000, "feeAssetId": null, "timestamp": 1677143708059, "version": 2, "chainId": 84, "sender": "3MrtFvvc7QBGaNXke4B8T7brYidircMU8pM", "senderPublicKey": "A3DknTXNtQRgyx5yLE3L1YUXipPTqbF3qQrCvp8ZbFPq", "proofs": [ "3iuK6QukqUvP7FmE9qYTa2eUUUXNSWcmEWH4YSfJQYxX5CDHW7Sic1DGUiJ8kjou3Sv4Mf6pt71dvFETLi8SqjZv" ], "script": "base64:BgJOCAISBgoECAgICBIJCgcICAEIAQgBEgcKBQEIAQgBEgMKAQgSAwoBCBIECgIBBBIDCgEIEgsKCQEICAEBAQEBBBIAEgASAwoBCBIDCgEIPAAJU0VQQVJBVE9SAgJfXwAIS0VZX0lOSVQCBElOSVQADEtFWV9NVUxUSVNJRwIITVVMVElTSUcACktFWV9TVEFUVVMCBlNUQVRVUwAKS0VZX1BBVVNFRAIGUEFVU0VEAApLRVlfUEFVU0VSAgZQQVVTRVIADEtFWV9FWEVDVVRPUgIIRVhFQ1VUT1IAEEtFWV9ST09UX0FEQVBURVICDFJPT1RfQURBUFRFUgATS0VZX0NBTExFUl9DT05UUkFDVAIPQ0FMTEVSX0NPTlRSQUNUAAlLRVlfQ0hBSU4CBUNIQUlOAAtLRVlfQklORElORwIHQklORElORwAHS0VZX0ZFRQIDRkVFABFLRVlfRkVFX1JFQ0lQSUVOVAINRkVFX1JFQ0lQSUVOVAATRlVOQ19SRUxFQVNFX1RPS0VOUwINcmVsZWFzZVRva2VucwAFV0FWRVMCBVdBVkVTAA5XQVZFU19ERUNJTUFMUwAIAAhERUNJTUFMUwAGAA5QRVJDRU5UX0ZBQ1RPUgDAhD0AB01BWF9JTlQA//////////9/ARBfdmFsaWRhdGVBZGRyZXNzAghhZGRyZXNzXwRlcnJfBAckbWF0Y2gwCQCmCAEFCGFkZHJlc3NfAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEOX3ZhbGlkYXRlQXNzZXQCCGFzc2V0SWRfBGVycl8EByRtYXRjaDAJAOwHAQkA2QQBBQhhc3NldElkXwMJAAECBQckbWF0Y2gwAgVBc3NldAQBYQUHJG1hdGNoMAYJAAIBBQRlcnJfAQxfdmFsaWRhdGVJbnQEBHZhbF8ObG93ZXJCb3VuZGFyeV8OdXBwZXJCb3VuZGFyeV8EZXJyXwMDCQBmAgUObG93ZXJCb3VuZGFyeV8FBHZhbF8GCQBmAgUEdmFsXwUOdXBwZXJCb3VuZGFyeV8JAAIBBQRlcnJfBgENX3ZhbGlkYXRlQm9vbAMEdmFsXwd0YXJnZXRfBGVycl8DCQECIT0CBQR2YWxfBQd0YXJnZXRfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMJcGF5bWVudHNfB3RhcmdldF8EZXJyXwMJAQIhPQIJAJADAQUJcGF5bWVudHNfBQd0YXJnZXRfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRBc3NldAMIcGF5bWVudF8GYXNzZXRfBGVycl8DCQECIT0CCAUIcGF5bWVudF8HYXNzZXRJZAUGYXNzZXRfCQACAQUEZXJyXwYBEl9ub3JtYWxpemVEZWNpbWFscwMHYW1vdW50Xw9zb3VyY2VEZWNpbWFsc18PdGFyZ2V0RGVjaW1hbHNfAwkAZwIFD3NvdXJjZURlY2ltYWxzXwUPdGFyZ2V0RGVjaW1hbHNfCQBpAgUHYW1vdW50XwkAbAYACgAACQBlAgUPc291cmNlRGVjaW1hbHNfBQ90YXJnZXREZWNpbWFsc18AAAAABQRET1dOCQBoAgUHYW1vdW50XwkAbAYACgAACQBlAgUPdGFyZ2V0RGVjaW1hbHNfBQ9zb3VyY2VEZWNpbWFsc18AAAAABQRET1dOAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBCl9sb2FkUGF1c2UABAckbWF0Y2gwCQCgCAEFCktFWV9QQVVTRUQDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYQUHJG1hdGNoMAUBYQcBCl9zYXZlUGF1c2UBCWlzUGF1c2VkXwkAzAgCCQEMQm9vbGVhbkVudHJ5AgUKS0VZX1BBVVNFRAUJaXNQYXVzZWRfBQNuaWwBC19sb2FkUGF1c2VyAAQHJG1hdGNoMAkAoggBBQpLRVlfUEFVU0VSAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABC19zYXZlUGF1c2VyAQdwYXVzZXJfCQDMCAIJAQtTdHJpbmdFbnRyeQIFCktFWV9QQVVTRVIJAKUIAQUHcGF1c2VyXwUDbmlsAQ1fbG9hZE11bHRpc2lnAAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAENX3NhdmVNdWx0aXNpZwEJbXVsdGlzaWdfCQDMCAIJAQtTdHJpbmdFbnRyeQIFDEtFWV9NVUxUSVNJRwkApQgBBQltdWx0aXNpZ18FA25pbAENX2xvYWRFeGVjdXRvcgAEByRtYXRjaDAJAKIIAQUMS0VZX0VYRUNVVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABDV9zYXZlRXhlY3V0b3IBCWV4ZWN1dG9yXwkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfRVhFQ1VUT1IJAKUIAQUJZXhlY3V0b3JfBQNuaWwBE19sb2FkQ2FsbGVyQ29udHJhY3QABAckbWF0Y2gwCQCiCAEFE0tFWV9DQUxMRVJfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABE19zYXZlQ2FsbGVyQ29udHJhY3QBB2NhbGxlcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUTS0VZX0NBTExFUl9DT05UUkFDVAUHY2FsbGVyXwUDbmlsAQpfbG9hZENoYWluAQhjaGFpbklkXwQHJG1hdGNoMAkAoAgBCQC5CQIJAMwIAgUJS0VZX0NIQUlOCQDMCAIJAKQDAQUIY2hhaW5JZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQpfc2F2ZUNoYWluAghjaGFpbklkXwR2YWxfCQDMCAIJAQxCb29sZWFuRW50cnkCCQC5CQIJAMwIAgUJS0VZX0NIQUlOCQDMCAIJAKQDAQUIY2hhaW5JZF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBDF9sb2FkQmluZGluZwIRZXhlY3V0aW9uQ2hhaW5JZF8IYXNzZXRJZF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFC0tFWV9CSU5ESU5HCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgkA2AQBBQhhc3NldElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBAZzdHJ1Y3QJALUJAgUBYQUJU0VQQVJBVE9SCQCZCgcJAJEDAgUGc3RydWN0AAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAACCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAMJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QABAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAAFAwkAAAIJAJEDAgUGc3RydWN0AAYCATEGBwkAmQoHAgAAAAAAAAAAAAAABwEMX3NhdmVCaW5kaW5nAxFleGVjdXRpb25DaGFpbklkXwhhc3NldElkXwhiaW5kaW5nXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgULS0VZX0JJTkRJTkcJAMwIAgkApAMBBRFleGVjdXRpb25DaGFpbklkXwkAzAgCCQDYBAEFCGFzc2V0SWRfBQNuaWwFCVNFUEFSQVRPUgkAuQkCCQDMCAIIBQhiaW5kaW5nXwJfMQkAzAgCCQCkAwEIBQhiaW5kaW5nXwJfMgkAzAgCCQCkAwEIBQhiaW5kaW5nXwJfMwkAzAgCCQCkAwEIBQhiaW5kaW5nXwJfNAkAzAgCCQCkAwEIBQhiaW5kaW5nXwJfNQkAzAgCCQCkAwEIBQhiaW5kaW5nXwJfNgkAzAgCAwgFCGJpbmRpbmdfAl83AgExAgEwBQNuaWwFCVNFUEFSQVRPUgUDbmlsAQhfbG9hZEZlZQEIYXNzZXRJZF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFB0tFWV9GRUUJAMwIAgkA2AQBBQhhc3NldElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABCF9zYXZlRmVlAghhc3NldElkXwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUHS0VZX0ZFRQkAzAgCCQDYBAEFCGFzc2V0SWRfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsARBfbG9hZFJvb3RBZGFwdGVyAAQHJG1hdGNoMAkAoggBBRBLRVlfUk9PVF9BREFQVEVSAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABEF9zYXZlUm9vdEFkYXB0ZXIBCGFkYXB0ZXJfCQDMCAIJAQtTdHJpbmdFbnRyeQIFEEtFWV9ST09UX0FEQVBURVIJAKUIAQUIYWRhcHRlcl8FA25pbAERX2xvYWRGZWVSZWNpcGllbnQABAckbWF0Y2gwCQCiCAEFEUtFWV9GRUVfUkVDSVBJRU5UAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABEV9zYXZlRmVlUmVjaXBpZW50AQR2YWxfCQDMCAIJAQtTdHJpbmdFbnRyeQIFEUtFWV9GRUVfUkVDSVBJRU5UCQClCAEFBHZhbF8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgEOX3doZW5Ob3RQYXVzZWQAAwkBCl9sb2FkUGF1c2UACQACAQIWX3doZW5Ob3RQYXVzZWQ6IHJldmVydAYBC193aGVuUGF1c2VkAAMJAQEhAQkBCl9sb2FkUGF1c2UACQACAQITX3doZW5QYXVzZWQ6IHJldmVydAYBC19vbmx5UGF1c2VyAQdjYWxsZXJfAwkBAiE9AgUHY2FsbGVyXwkBC19sb2FkUGF1c2VyAAkAAgECE19vbmx5UGF1c2VyOiByZXZlcnQGAQZfYXNJbnQBBHZhbF8EByRtYXRjaDAFBHZhbF8DCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhCQACAQIOX2FzSW50OiByZXZlcnQBCF9hc0J5dGVzAQR2YWxfBAckbWF0Y2gwBQR2YWxfAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWEFByRtYXRjaDAFAWEJAAIBAhBfYXNCeXRlczogcmV2ZXJ0ARFfdmFsaWRhdGVFeGVjdXRvcgIEdmFsXwRlcnJfAwkBAiE9AgUEdmFsXwkBDV9sb2FkRXhlY3V0b3IACQACAQUEZXJyXwYBD192YWxpZGF0ZUNhbGxlcgIEdmFsXwRlcnJfAwkBAiE9AgUEdmFsXwkBE19sb2FkQ2FsbGVyQ29udHJhY3QACQACAQUEZXJyXwYBDl92YWxpZGF0ZUNoYWluAhFleGVjdXRpb25DaGFpbklkXwRlcnJfAwkBASEBCQEKX2xvYWRDaGFpbgEFEWV4ZWN1dGlvbkNoYWluSWRfCQACAQUEZXJyXwYMAWkBBGluaXQECWV4ZWN1dG9yXwhhZGFwdGVyXwdwYXVzZXJfDWZlZVJlY2lwaWVudF8EA2VycgMDAwMDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQETX3doZW5Ob3RJbml0aWFsaXplZAAHCQEQX3doZW5NdWx0aXNpZ1NldAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCWV4ZWN1dG9yXwIWaW5pdDogaW52YWxpZCBleGVjdXRvcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUIYWRhcHRlcl8CFWluaXQ6IGludmFsaWQgYWRhcHRlcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUHcGF1c2VyXwIUaW5pdDogaW52YWxpZCBwYXVzZXIHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFDWZlZVJlY2lwaWVudF8CGmluaXQ6IGludmFsaWQgZmVlUmVjaXBpZW50BwMJAAACBQNlcnIFA2VycgkAlAoCCQDOCAIJAM4IAgkAzggCCQDOCAIJAQlfc2F2ZUluaXQBBgkBDV9zYXZlRXhlY3V0b3IBCQERQGV4dHJOYXRpdmUoMTA2MikBBQlleGVjdXRvcl8JARBfc2F2ZVJvb3RBZGFwdGVyAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUIYWRhcHRlcl8JAQtfc2F2ZVBhdXNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB3BhdXNlcl8JARFfc2F2ZUZlZVJlY2lwaWVudAEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDWZlZVJlY2lwaWVudF8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKbWludFRva2VucwcPY2FsbGVyQ29udHJhY3RfDmFzc2V0Q29udHJhY3RfB2Ftb3VudF8KcmVjaXBpZW50Xw5nYXNsZXNzUmV3YXJkXwlyZWZlcnJlcl8McmVmZXJyZXJGZWVfBANlcnIDAwMDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEOX3doZW5Ob3RQYXVzZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ5hc3NldENvbnRyYWN0XwIcbWludDogaW52YWxpZCBhc3NldCBjb250cmFjdAcJARFfdmFsaWRhdGVFeGVjdXRvcgIIBQFpBmNhbGxlcgIWbWludDogaW52YWxpZCBleGVjdXRvcgcJAQ9fdmFsaWRhdGVDYWxsZXICBQ9jYWxsZXJDb250cmFjdF8CFG1pbnQ6IGludmFsaWQgY2FsbGVyBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQpyZWNpcGllbnRfAh9taW50OiBpbnZhbGlkIHJlY2lwaWVudCBhZGRyZXNzBwkBDF92YWxpZGF0ZUludAQFB2Ftb3VudF8AAAUHTUFYX0lOVAIUbWludDogaW52YWxpZCBhbW91bnQHCQEMX3ZhbGlkYXRlSW50BAUOZ2FzbGVzc1Jld2FyZF8AAAUHTUFYX0lOVAIbbWludDogaW52YWxpZCBnYXNsZXNzUmV3YXJkBwkBDF92YWxpZGF0ZUludAQFDHJlZmVycmVyRmVlXwAABQdNQVhfSU5UAhptaW50OiBpbnZhbGlkIHJlZmVycmVyIGZlZQcDCQAAAgUDZXJyBQNlcnIEB2Fzc2V0SWQJAQhfYXNCeXRlcwEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8CCmdldEFzc2V0SWQFA25pbAUDbmlsAwkAAAIFB2Fzc2V0SWQFB2Fzc2V0SWQEDWFzc2V0RGVjaW1hbHMJAQZfYXNJbnQBCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmFzc2V0Q29udHJhY3RfAgtnZXREZWNpbWFscwUDbmlsBQNuaWwDCQAAAgUNYXNzZXREZWNpbWFscwUNYXNzZXREZWNpbWFscwQQbm9ybWFsaXplZEFtb3VudAkBEl9ub3JtYWxpemVEZWNpbWFscwMFB2Ftb3VudF8FCERFQ0lNQUxTBQ1hc3NldERlY2ltYWxzBBFub3JtYWxpemVkR2FzbGVzcwkBEl9ub3JtYWxpemVEZWNpbWFscwMFDmdhc2xlc3NSZXdhcmRfBQhERUNJTUFMUwUNYXNzZXREZWNpbWFscwQIcmVmZXJyZXIEByRtYXRjaDAJAKYIAQUJcmVmZXJyZXJfAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEDnJlZmVyZXJBZGRyZXNzBQckbWF0Y2gwBBVub3JtYWxpemVkUmVmZXJyZXJGZWUJARJfbm9ybWFsaXplRGVjaW1hbHMDBQxyZWZlcnJlckZlZV8FCERFQ0lNQUxTBQ1hc3NldERlY2ltYWxzCQCUCgIFFW5vcm1hbGl6ZWRSZWZlcnJlckZlZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ5yZWZlcmVyQWRkcmVzcwUVbm9ybWFsaXplZFJlZmVycmVyRmVlBQdhc3NldElkBQNuaWwJAJQKAgAABQNuaWwEC3JlZmVycmVyRmVlCAUIcmVmZXJyZXICXzEED3JlZmVycmVyQWN0aW9ucwgFCHJlZmVycmVyAl8yBAppbnZvY2F0aW9uCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmFzc2V0Q29udHJhY3RfAgRtaW50CQDMCAIJAGQCBRBub3JtYWxpemVkQW1vdW50BQtyZWZlcnJlckZlZQkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EB2FjdGlvbnMDAwkAZgIFEW5vcm1hbGl6ZWRHYXNsZXNzAAAJAQIhPQIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnJlY2lwaWVudF8IBQFpDG9yaWdpbkNhbGxlcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKcmVjaXBpZW50XwkAZQIFEG5vcm1hbGl6ZWRBbW91bnQFEW5vcm1hbGl6ZWRHYXNsZXNzBQdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpDG9yaWdpbkNhbGxlcgURbm9ybWFsaXplZEdhc2xlc3MFB2Fzc2V0SWQFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQpyZWNpcGllbnRfBRBub3JtYWxpemVkQW1vdW50BQdhc3NldElkBQNuaWwJAJQKAgkAzggCBQdhY3Rpb25zBQ9yZWZlcnJlckFjdGlvbnMFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKYnVyblRva2VucwURZXhlY3V0aW9uQ2hhaW5JZF8OYXNzZXRDb250cmFjdF8HYW1vdW50XwpyZWNpcGllbnRfDmdhc2xlc3NSZXdhcmRfBANlcnIDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEOX3doZW5Ob3RQYXVzZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ5hc3NldENvbnRyYWN0XwIcYnVybjogaW52YWxpZCBhc3NldCBjb250cmFjdAcJAQ5fdmFsaWRhdGVDaGFpbgIFEWV4ZWN1dGlvbkNoYWluSWRfAh1idXJuOiBpbnZhbGlkIGV4ZWN1dGlvbiBjaGFpbgcJARVfdmFsaWRhdGVQYXltZW50c1NpemUDCAUBaQhwYXltZW50cwABAhBidXJuOiBubyBwYXltZW50BwkBDF92YWxpZGF0ZUludAQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BQdhbW91bnRfBQdNQVhfSU5UAhxidXJuOiBpbnZhbGlkIHBheW1lbnQgYW1vdW50BwMJAAACBQNlcnIFA2VycgQHYXNzZXRJZAkBCF9hc0J5dGVzAQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwIKZ2V0QXNzZXRJZAUDbmlsBQNuaWwDCQAAAgUHYXNzZXRJZAUHYXNzZXRJZAQNYXNzZXREZWNpbWFscwkBBl9hc0ludAEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8CC2dldERlY2ltYWxzBQNuaWwFA25pbAMJAAACBQ1hc3NldERlY2ltYWxzBQ1hc3NldERlY2ltYWxzBAdiaW5kaW5nCQEMX2xvYWRCaW5kaW5nAgURZXhlY3V0aW9uQ2hhaW5JZF8FB2Fzc2V0SWQEDmV4ZWN1dGlvbkFzc2V0CAUHYmluZGluZwJfMQQJbWluQW1vdW50CAUHYmluZGluZwJfMgQGbWluRmVlCAUHYmluZGluZwJfMwQMdGhyZXNob2xkRmVlCAUHYmluZGluZwJfNAQQYmVmb3JlUGVyY2VudEZlZQgFB2JpbmRpbmcCXzUED2FmdGVyUGVyY2VudEZlZQgFB2JpbmRpbmcCXzYEB2VuYWJsZWQIBQdiaW5kaW5nAl83BARlcnIxAwMJARVfdmFsaWRhdGVQYXltZW50QXNzZXQDCQCRAwIIBQFpCHBheW1lbnRzAAAFB2Fzc2V0SWQCG2J1cm46IGludmFsaWQgcGF5bWVudCBhc3NldAkBDF92YWxpZGF0ZUludAQFB2Ftb3VudF8FCW1pbkFtb3VudAUHTUFYX0lOVAITYnVybjogbGVzcyB0aGFuIG1pbgcJAQ1fdmFsaWRhdGVCb29sAwUHZW5hYmxlZAYCF2J1cm46IHRva2VuIGlzIGRpc2FibGVkBwMJAAACBQRlcnIxBQRlcnIxBAdwZXJjZW50AwkAZgIFB2Ftb3VudF8FDHRocmVzaG9sZEZlZQUPYWZ0ZXJQZXJjZW50RmVlBRBiZWZvcmVQZXJjZW50RmVlBANmZWUJAGQCBQZtaW5GZWUJAGkCCQBoAgUHYW1vdW50XwUHcGVyY2VudAUOUEVSQ0VOVF9GQUNUT1IEBGVycjIJAQxfdmFsaWRhdGVJbnQEBQdhbW91bnRfCQBkAgUDZmVlAAEFB01BWF9JTlQCGmJ1cm46IGZlZSBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjIFBGVycjIEDGFtb3VudFRvU2VuZAkAZQIFB2Ftb3VudF8FA2ZlZQQEZXJyMwkBDF92YWxpZGF0ZUludAQFDGFtb3VudFRvU2VuZAkAZAIFDmdhc2xlc3NSZXdhcmRfAAEFB01BWF9JTlQCHWJ1cm46IHJld2FyZCBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjMFBGVycjMECXVwZGF0ZUZlZQkAZAIJAQhfbG9hZEZlZQEFB2Fzc2V0SWQFA2ZlZQQQbm9ybWFsaXplZEFtb3VudAkBEl9ub3JtYWxpemVEZWNpbWFscwMFDGFtb3VudFRvU2VuZAUNYXNzZXREZWNpbWFscwUIREVDSU1BTFMEEW5vcm1hbGl6ZWRHYXNsZXNzCQESX25vcm1hbGl6ZURlY2ltYWxzAwUOZ2FzbGVzc1Jld2FyZF8FDWFzc2V0RGVjaW1hbHMFCERFQ0lNQUxTBAppbnZvY2F0aW9uCQD8BwQJARBfbG9hZFJvb3RBZGFwdGVyAAUTRlVOQ19SRUxFQVNFX1RPS0VOUwkAzAgCBRFleGVjdXRpb25DaGFpbklkXwkAzAgCBQ5leGVjdXRpb25Bc3NldAkAzAgCBRBub3JtYWxpemVkQW1vdW50CQDMCAIFCnJlY2lwaWVudF8JAMwIAgURbm9ybWFsaXplZEdhc2xlc3MFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24JAJQKAgkAzggCCQEIX3NhdmVGZWUCBQdhc3NldElkBQl1cGRhdGVGZWUJAMwIAgkBBEJ1cm4CBQdhc3NldElkBQxhbW91bnRUb1NlbmQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQt0cmFuc2ZlckZlZQEOYXNzZXRDb250cmFjdF8EA2VycgMDCQEQX3doZW5Jbml0aWFsaXplZAAJAQ5fd2hlbk5vdFBhdXNlZAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFDmFzc2V0Q29udHJhY3RfAh9idXJuRmVlOiBpbnZhbGlkIGFzc2V0IGNvbnRyYWN0BwMJAAACBQNlcnIFA2VycgQHYXNzZXRJZAkBCF9hc0J5dGVzAQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwIKZ2V0QXNzZXRJZAUDbmlsBQNuaWwDCQAAAgUHYXNzZXRJZAUHYXNzZXRJZAkAlAoCCQDOCAIJAQhfc2F2ZUZlZQIFB2Fzc2V0SWQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERX2xvYWRGZWVSZWNpcGllbnQACQEIX2xvYWRGZWUBBQdhc3NldElkBQdhc3NldElkBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEUdXBkYXRlQ2FsbGVyQ29udHJhY3QBD2NhbGxlckNvbnRyYWN0XwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJARNfc2F2ZUNhbGxlckNvbnRyYWN0AQUPY2FsbGVyQ29udHJhY3RfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFHVwZGF0ZUV4ZWN1dGlvbkNoYWluAhFleGVjdXRpb25DaGFpbklkXwhlbmFibGVkXwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBDF92YWxpZGF0ZUludAQFEWV4ZWN1dGlvbkNoYWluSWRfAAAFB01BWF9JTlQCLnVwZGF0ZUV4ZWN1dGlvbkNoYWluOiBpbnZhbGlkIGV4ZWN1dGlvbkNoYWluSWQHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZUNoYWluAgURZXhlY3V0aW9uQ2hhaW5JZF8FCGVuYWJsZWRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEnVwZGF0ZUZlZVJlY2lwaWVudAENZmVlUmVjaXBpZW50XwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ1mZWVSZWNpcGllbnRfAih1cGRhdGVGZWVSZWNpcGllbnQ6IGludmFsaWQgZmVlUmVjaXBpZW50BwMJAAACBQNlcnIFA2VycgkAlAoCCQERX3NhdmVGZWVSZWNpcGllbnQBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1mZWVSZWNpcGllbnRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEXVwZGF0ZUJpbmRpbmdJbmZvCRFleGVjdXRpb25DaGFpbklkXw5hc3NldENvbnRyYWN0Xw9leGVjdXRpb25Bc3NldF8KbWluQW1vdW50XwdtaW5GZWVfDXRocmVzaG9sZEZlZV8RYmVmb3JlUGVyY2VudEZlZV8QYWZ0ZXJQZXJjZW50RmVlXwhlbmFibGVkXwQDZXJyAwMDAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ5hc3NldENvbnRyYWN0XwIpdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgYXNzZXQgY29udHJhY3QHCQEMX3ZhbGlkYXRlSW50BAURZXhlY3V0aW9uQ2hhaW5JZF8AAAUHTUFYX0lOVAIrdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgZXhlY3V0aW9uQ2hhaW5JZAcJAQxfdmFsaWRhdGVJbnQEBQptaW5BbW91bnRfAAAFB01BWF9JTlQCJHVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIG1pbkFtb3VudAcJAQxfdmFsaWRhdGVJbnQEBQdtaW5GZWVfAAAFB01BWF9JTlQCIXVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIG1pbkZlZQcJAQxfdmFsaWRhdGVJbnQEBQ10aHJlc2hvbGRGZWVfAAAFB01BWF9JTlQCJ3VwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIHRocmVzaG9sZEZlZQcJAQxfdmFsaWRhdGVJbnQEBRFiZWZvcmVQZXJjZW50RmVlXwAABQdNQVhfSU5UAit1cGRhdGVCaW5kaW5nSW5mbzogaW52YWxpZCBiZWZvcmVQZXJjZW50RmVlBwkBDF92YWxpZGF0ZUludAQFEGFmdGVyUGVyY2VudEZlZV8AAAUHTUFYX0lOVAIqdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgYWZ0ZXJQZXJjZW50RmVlBwMJAAACBQNlcnIFA2VycgQHYXNzZXRJZAkBCF9hc0J5dGVzAQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwIKZ2V0QXNzZXRJZAUDbmlsBQNuaWwDCQAAAgUHYXNzZXRJZAUHYXNzZXRJZAQHYmluZGluZwkAmQoHBQ9leGVjdXRpb25Bc3NldF8FCm1pbkFtb3VudF8FB21pbkZlZV8FDXRocmVzaG9sZEZlZV8FEWJlZm9yZVBlcmNlbnRGZWVfBRBhZnRlclBlcmNlbnRGZWVfBQhlbmFibGVkXwkAlAoCCQEMX3NhdmVCaW5kaW5nAwURZXhlY3V0aW9uQ2hhaW5JZF8FB2Fzc2V0SWQFB2JpbmRpbmcFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFcGF1c2UABANlcnIDAwkBC19vbmx5UGF1c2VyAQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEOX3doZW5Ob3RQYXVzZWQABwMJAAACBQNlcnIFA2VycgkAlAoCCQEKX3NhdmVQYXVzZQEGBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB3VucGF1c2UABANlcnIDAwkBC19vbmx5UGF1c2VyAQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQELX3doZW5QYXVzZWQABwMJAAACBQNlcnIFA2VycgkAlAoCCQEKX3NhdmVQYXVzZQEHBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDHVwZGF0ZVBhdXNlcgEHcGF1c2VyXwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQdwYXVzZXJfAhRpbml0OiBpbnZhbGlkIHBhdXNlcgcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBC19zYXZlUGF1c2VyAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUHcGF1c2VyXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQtzZXRNdWx0aXNpZwEJbXVsdGlzaWdfBANlcnIDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfdmFsaWRhdGVBZGRyZXNzAgUJbXVsdGlzaWdfAh1zZXRNdWx0aXNpZzogaW52YWxpZCBtdWx0aXNpZwcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBDV9zYXZlTXVsdGlzaWcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQltdWx0aXNpZ18FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcECG11bHRpc2lnBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG11bHRpc2lnCQC5CQIJAMwIAgUKS0VZX1NUQVRVUwkAzAgCCQClCAEFBHRoaXMJAMwIAgkA2AQBCAUCdHgCaWQFA25pbAUJU0VQQVJBVE9SBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleWBYV/M=", "height": 2462104, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4vgyaGQhnumaZYfqqhMGFKJG2Tgh3uqg7VzhaHu7PpWc Next: U8kw18XBbsTmC5bEGmEsa8Kt5CPJW4TvnZdTCgQNNmn Diff:
OldNewDifferences
343343
344344 @Callable(aI)
345345 func mintTokens (aL,aM,M,aN,aO,aP,aQ) = {
346- let aK = if (if (if (if (if (if (if (az())
346+ let aK = if (if (if (if (if (if (if (if (az())
347347 then aA()
348348 else false)
349349 then t(aM, "mint: invalid asset contract")
357357 then A(M, 0, s, "mint: invalid amount")
358358 else false)
359359 then A(aO, 0, s, "mint: invalid gaslessReward")
360+ else false)
361+ then A(aQ, 0, s, "mint: invalid referrer fee")
360362 else false
361363 if ((aK == aK))
362364 then {
368370 then {
369371 let aT = L(M, q, aS)
370372 let aU = L(aO, q, aS)
371- let aV = if ((size(aP) > 0))
372- then {
373- let aW = if (t(aP, "mint: invalid referrer address"))
374- then A(aQ, 0, s, "mint: invalid referrer fee")
375- else false
376- if ((aW == aW))
377- then {
378- let aX = L(aQ, q, aS)
379- $Tuple2(aX, [ScriptTransfer(addressFromStringValue(aP), aX, aR)])
380- }
381- else throw("Strict value is not equal to itself.")
382- }
383- else $Tuple2(0, nil)
373+ let aV = {
374+ let w = addressFromString(aP)
375+ if ($isInstanceOf(w, "Address"))
376+ then {
377+ let aW = w
378+ let aX = L(aQ, q, aS)
379+ $Tuple2(aX, [ScriptTransfer(aW, aX, aR)])
380+ }
381+ else $Tuple2(0, nil)
382+ }
384383 let aY = aV._1
385384 let aZ = aV._2
386385 let ba = invoke(addressFromStringValue(aM), "mint", [(aT + aY), toString(this)], nil)
433432 let bh = bc._5
434433 let bi = bc._6
435434 let bj = bc._7
436- let aW = if (if (I(aI.payments[0], aR, "burn: invalid payment asset"))
435+ let bk = if (if (I(aI.payments[0], aR, "burn: invalid payment asset"))
437436 then A(M, be, s, "burn: less than min")
438437 else false)
439438 then E(bj, true, "burn: token is disabled")
440439 else false
441- if ((aW == aW))
440+ if ((bk == bk))
442441 then {
443- let bk = if ((M > bg))
442+ let bl = if ((M > bg))
444443 then bi
445444 else bh
446- let bl = (bf + ((M * bk) / r))
447- let bm = A(M, (bl + 1), s, "burn: fee more than amount")
448- if ((bm == bm))
445+ let bm = (bf + ((M * bl) / r))
446+ let bn = A(M, (bm + 1), s, "burn: fee more than amount")
447+ if ((bn == bn))
449448 then {
450- let bn = (M - bl)
451- let bo = A(bn, (aO + 1), s, "burn: reward more than amount")
452- if ((bo == bo))
449+ let bo = (M - bm)
450+ let bp = A(bo, (aO + 1), s, "burn: reward more than amount")
451+ if ((bp == bp))
453452 then {
454- let bp = (ap(aR) + bl)
455- let aT = L(bn, aS, q)
453+ let bq = (ap(aR) + bm)
454+ let aT = L(bo, aS, q)
456455 let aU = L(aO, aS, q)
457456 let ba = invoke(ar(), n, [al, bd, aT, aN, aU], nil)
458457 if ((ba == ba))
459- then $Tuple2((aq(aR, bp) ++ [Burn(aR, bn)]), unit)
458+ then $Tuple2((aq(aR, bq) ++ [Burn(aR, bo)]), unit)
460459 else throw("Strict value is not equal to itself.")
461460 }
462461 else throw("Strict value is not equal to itself.")
506505
507506
508507 @Callable(aI)
509-func updateExecutionChain (al,bq) = {
508+func updateExecutionChain (al,br) = {
510509 let aK = if (if (aw(aI.caller))
511510 then az()
512511 else false)
513512 then A(al, 0, s, "updateExecutionChain: invalid executionChainId")
514513 else false
515514 if ((aK == aK))
516- then $Tuple2(aj(al, bq), unit)
515+ then $Tuple2(aj(al, br), unit)
517516 else throw("Strict value is not equal to itself.")
518517 }
519518
534533
535534
536535 @Callable(aI)
537-func updateBindingInfo (al,aM,br,bs,bt,bu,bv,bw,bq) = {
536+func updateBindingInfo (al,aM,bs,bt,bu,bv,bw,bx,br) = {
538537 let aK = if (if (if (if (if (if (if (if (aw(aI.caller))
539538 then az()
540539 else false)
542541 else false)
543542 then A(al, 0, s, "updateBindingInfo: invalid executionChainId")
544543 else false)
545- then A(bs, 0, s, "updateBindingInfo: invalid minAmount")
544+ then A(bt, 0, s, "updateBindingInfo: invalid minAmount")
546545 else false)
547- then A(bt, 0, s, "updateBindingInfo: invalid minFee")
546+ then A(bu, 0, s, "updateBindingInfo: invalid minFee")
548547 else false)
549- then A(bu, 0, s, "updateBindingInfo: invalid thresholdFee")
548+ then A(bv, 0, s, "updateBindingInfo: invalid thresholdFee")
550549 else false)
551- then A(bv, 0, s, "updateBindingInfo: invalid beforePercentFee")
550+ then A(bw, 0, s, "updateBindingInfo: invalid beforePercentFee")
552551 else false)
553- then A(bw, 0, s, "updateBindingInfo: invalid afterPercentFee")
552+ then A(bx, 0, s, "updateBindingInfo: invalid afterPercentFee")
554553 else false
555554 if ((aK == aK))
556555 then {
557556 let aR = aE(invoke(addressFromStringValue(aM), "getAssetId", nil, nil))
558557 if ((aR == aR))
559558 then {
560- let bc = $Tuple7(br, bs, bt, bu, bv, bw, bq)
559+ let bc = $Tuple7(bs, bt, bu, bv, bw, bx, br)
561560 $Tuple2(an(al, aR, bc), unit)
562561 }
563562 else throw("Strict value is not equal to itself.")
620619 }
621620
622621
623-@Verifier(bx)
624-func by () = {
622+@Verifier(by)
623+func bz () = {
625624 let w = getString(c)
626625 if ($isInstanceOf(w, "String"))
627626 then {
628- let bz = w
629- valueOrElse(getBoolean(addressFromStringValue(bz), makeString([d, toString(this), toBase58String(bx.id)], a)), false)
627+ let bA = w
628+ valueOrElse(getBoolean(addressFromStringValue(bA), makeString([d, toString(this), toBase58String(by.id)], a)), false)
630629 }
631- else sigVerify(bx.bodyBytes, bx.proofs[0], bx.senderPublicKey)
630+ else sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
632631 }
633632
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "INIT"
77
88 let c = "MULTISIG"
99
1010 let d = "STATUS"
1111
1212 let e = "PAUSED"
1313
1414 let f = "PAUSER"
1515
1616 let g = "EXECUTOR"
1717
1818 let h = "ROOT_ADAPTER"
1919
2020 let i = "CALLER_CONTRACT"
2121
2222 let j = "CHAIN"
2323
2424 let k = "BINDING"
2525
2626 let l = "FEE"
2727
2828 let m = "FEE_RECIPIENT"
2929
3030 let n = "releaseTokens"
3131
3232 let o = "WAVES"
3333
3434 let p = 8
3535
3636 let q = 6
3737
3838 let r = 1000000
3939
4040 let s = 9223372036854775807
4141
4242 func t (u,v) = {
4343 let w = addressFromString(u)
4444 if ($isInstanceOf(w, "Address"))
4545 then {
4646 let x = w
4747 true
4848 }
4949 else throw(v)
5050 }
5151
5252
5353 func y (z,v) = {
5454 let w = assetInfo(fromBase58String(z))
5555 if ($isInstanceOf(w, "Asset"))
5656 then {
5757 let x = w
5858 true
5959 }
6060 else throw(v)
6161 }
6262
6363
6464 func A (B,C,D,v) = if (if ((C > B))
6565 then true
6666 else (B > D))
6767 then throw(v)
6868 else true
6969
7070
7171 func E (B,F,v) = if ((B != F))
7272 then throw(v)
7373 else true
7474
7575
7676 func G (H,F,v) = if ((size(H) != F))
7777 then throw(v)
7878 else true
7979
8080
8181 func I (J,K,v) = if ((J.assetId != K))
8282 then throw(v)
8383 else true
8484
8585
8686 func L (M,N,O) = if ((N >= O))
8787 then (M / pow(10, 0, (N - O), 0, 0, DOWN))
8888 else (M * pow(10, 0, (O - N), 0, 0, DOWN))
8989
9090
9191 func P () = {
9292 let w = getBoolean(b)
9393 if ($isInstanceOf(w, "Boolean"))
9494 then {
9595 let x = w
9696 x
9797 }
9898 else false
9999 }
100100
101101
102102 func Q (R) = [BooleanEntry(b, R)]
103103
104104
105105 func S () = {
106106 let w = getBoolean(e)
107107 if ($isInstanceOf(w, "Boolean"))
108108 then {
109109 let x = w
110110 x
111111 }
112112 else false
113113 }
114114
115115
116116 func T (U) = [BooleanEntry(e, U)]
117117
118118
119119 func V () = {
120120 let w = getString(f)
121121 if ($isInstanceOf(w, "String"))
122122 then {
123123 let x = w
124124 addressFromStringValue(x)
125125 }
126126 else Address(base58'')
127127 }
128128
129129
130130 func W (X) = [StringEntry(f, toString(X))]
131131
132132
133133 func Y () = {
134134 let w = getString(c)
135135 if ($isInstanceOf(w, "String"))
136136 then {
137137 let x = w
138138 addressFromStringValue(x)
139139 }
140140 else Address(base58'')
141141 }
142142
143143
144144 func Z (aa) = [StringEntry(c, toString(aa))]
145145
146146
147147 func ab () = {
148148 let w = getString(g)
149149 if ($isInstanceOf(w, "String"))
150150 then {
151151 let x = w
152152 addressFromStringValue(x)
153153 }
154154 else Address(base58'')
155155 }
156156
157157
158158 func ac (ad) = [StringEntry(g, toString(ad))]
159159
160160
161161 func ae () = {
162162 let w = getString(i)
163163 if ($isInstanceOf(w, "String"))
164164 then {
165165 let x = w
166166 x
167167 }
168168 else ""
169169 }
170170
171171
172172 func af (ag) = [StringEntry(i, ag)]
173173
174174
175175 func ah (ai) = {
176176 let w = getBoolean(makeString([j, toString(ai)], a))
177177 if ($isInstanceOf(w, "Boolean"))
178178 then {
179179 let x = w
180180 x
181181 }
182182 else false
183183 }
184184
185185
186186 func aj (ai,B) = [BooleanEntry(makeString([j, toString(ai)], a), B)]
187187
188188
189189 func ak (al,z) = {
190190 let w = getString(makeString([k, toString(al), toBase58String(z)], a))
191191 if ($isInstanceOf(w, "String"))
192192 then {
193193 let x = w
194194 let am = split(x, a)
195195 $Tuple7(am[0], parseIntValue(am[1]), parseIntValue(am[2]), parseIntValue(am[3]), parseIntValue(am[4]), parseIntValue(am[5]), if ((am[6] == "1"))
196196 then true
197197 else false)
198198 }
199199 else $Tuple7("", 0, 0, 0, 0, 0, false)
200200 }
201201
202202
203203 func an (al,z,ao) = [StringEntry(makeString([k, toString(al), toBase58String(z)], a), makeString([ao._1, toString(ao._2), toString(ao._3), toString(ao._4), toString(ao._5), toString(ao._6), if (ao._7)
204204 then "1"
205205 else "0"], a))]
206206
207207
208208 func ap (z) = {
209209 let w = getInteger(makeString([l, toBase58String(z)], a))
210210 if ($isInstanceOf(w, "Int"))
211211 then {
212212 let x = w
213213 x
214214 }
215215 else 0
216216 }
217217
218218
219219 func aq (z,B) = [IntegerEntry(makeString([l, toBase58String(z)], a), B)]
220220
221221
222222 func ar () = {
223223 let w = getString(h)
224224 if ($isInstanceOf(w, "String"))
225225 then {
226226 let x = w
227227 addressFromStringValue(x)
228228 }
229229 else Address(base58'')
230230 }
231231
232232
233233 func as (at) = [StringEntry(h, toString(at))]
234234
235235
236236 func au () = {
237237 let w = getString(m)
238238 if ($isInstanceOf(w, "String"))
239239 then {
240240 let x = w
241241 addressFromStringValue(x)
242242 }
243243 else Address(base58'')
244244 }
245245
246246
247247 func av (B) = [StringEntry(m, toString(B))]
248248
249249
250250 func aw (ag) = if ((ag != this))
251251 then throw("_onlyThisContract: revert")
252252 else true
253253
254254
255255 func ax () = if ((Y() == Address(base58'')))
256256 then throw("_whenMultisigSet: revert")
257257 else true
258258
259259
260260 func ay () = if (P())
261261 then throw("_whenNotInitialized: revert")
262262 else true
263263
264264
265265 func az () = if (!(P()))
266266 then throw("_whenInitialized: revert")
267267 else true
268268
269269
270270 func aA () = if (S())
271271 then throw("_whenNotPaused: revert")
272272 else true
273273
274274
275275 func aB () = if (!(S()))
276276 then throw("_whenPaused: revert")
277277 else true
278278
279279
280280 func aC (ag) = if ((ag != V()))
281281 then throw("_onlyPauser: revert")
282282 else true
283283
284284
285285 func aD (B) = {
286286 let w = B
287287 if ($isInstanceOf(w, "Int"))
288288 then {
289289 let x = w
290290 x
291291 }
292292 else throw("_asInt: revert")
293293 }
294294
295295
296296 func aE (B) = {
297297 let w = B
298298 if ($isInstanceOf(w, "ByteVector"))
299299 then {
300300 let x = w
301301 x
302302 }
303303 else throw("_asBytes: revert")
304304 }
305305
306306
307307 func aF (B,v) = if ((B != ab()))
308308 then throw(v)
309309 else true
310310
311311
312312 func aG (B,v) = if ((B != ae()))
313313 then throw(v)
314314 else true
315315
316316
317317 func aH (al,v) = if (!(ah(al)))
318318 then throw(v)
319319 else true
320320
321321
322322 @Callable(aI)
323323 func init (ad,at,X,aJ) = {
324324 let aK = if (if (if (if (if (if (aw(aI.caller))
325325 then ay()
326326 else false)
327327 then ax()
328328 else false)
329329 then t(ad, "init: invalid executor")
330330 else false)
331331 then t(at, "init: invalid adapter")
332332 else false)
333333 then t(X, "init: invalid pauser")
334334 else false)
335335 then t(aJ, "init: invalid feeRecipient")
336336 else false
337337 if ((aK == aK))
338338 then $Tuple2(((((Q(true) ++ ac(addressFromStringValue(ad))) ++ as(addressFromStringValue(at))) ++ W(addressFromStringValue(X))) ++ av(addressFromStringValue(aJ))), unit)
339339 else throw("Strict value is not equal to itself.")
340340 }
341341
342342
343343
344344 @Callable(aI)
345345 func mintTokens (aL,aM,M,aN,aO,aP,aQ) = {
346- let aK = if (if (if (if (if (if (if (az())
346+ let aK = if (if (if (if (if (if (if (if (az())
347347 then aA()
348348 else false)
349349 then t(aM, "mint: invalid asset contract")
350350 else false)
351351 then aF(aI.caller, "mint: invalid executor")
352352 else false)
353353 then aG(aL, "mint: invalid caller")
354354 else false)
355355 then t(aN, "mint: invalid recipient address")
356356 else false)
357357 then A(M, 0, s, "mint: invalid amount")
358358 else false)
359359 then A(aO, 0, s, "mint: invalid gaslessReward")
360+ else false)
361+ then A(aQ, 0, s, "mint: invalid referrer fee")
360362 else false
361363 if ((aK == aK))
362364 then {
363365 let aR = aE(invoke(addressFromStringValue(aM), "getAssetId", nil, nil))
364366 if ((aR == aR))
365367 then {
366368 let aS = aD(invoke(addressFromStringValue(aM), "getDecimals", nil, nil))
367369 if ((aS == aS))
368370 then {
369371 let aT = L(M, q, aS)
370372 let aU = L(aO, q, aS)
371- let aV = if ((size(aP) > 0))
372- then {
373- let aW = if (t(aP, "mint: invalid referrer address"))
374- then A(aQ, 0, s, "mint: invalid referrer fee")
375- else false
376- if ((aW == aW))
377- then {
378- let aX = L(aQ, q, aS)
379- $Tuple2(aX, [ScriptTransfer(addressFromStringValue(aP), aX, aR)])
380- }
381- else throw("Strict value is not equal to itself.")
382- }
383- else $Tuple2(0, nil)
373+ let aV = {
374+ let w = addressFromString(aP)
375+ if ($isInstanceOf(w, "Address"))
376+ then {
377+ let aW = w
378+ let aX = L(aQ, q, aS)
379+ $Tuple2(aX, [ScriptTransfer(aW, aX, aR)])
380+ }
381+ else $Tuple2(0, nil)
382+ }
384383 let aY = aV._1
385384 let aZ = aV._2
386385 let ba = invoke(addressFromStringValue(aM), "mint", [(aT + aY), toString(this)], nil)
387386 if ((ba == ba))
388387 then {
389388 let bb = if (if ((aU > 0))
390389 then (addressFromStringValue(aN) != aI.originCaller)
391390 else false)
392391 then [ScriptTransfer(addressFromStringValue(aN), (aT - aU), aR), ScriptTransfer(aI.originCaller, aU, aR)]
393392 else [ScriptTransfer(addressFromStringValue(aN), aT, aR)]
394393 $Tuple2((bb ++ aZ), unit)
395394 }
396395 else throw("Strict value is not equal to itself.")
397396 }
398397 else throw("Strict value is not equal to itself.")
399398 }
400399 else throw("Strict value is not equal to itself.")
401400 }
402401 else throw("Strict value is not equal to itself.")
403402 }
404403
405404
406405
407406 @Callable(aI)
408407 func burnTokens (al,aM,M,aN,aO) = {
409408 let aK = if (if (if (if (if (az())
410409 then aA()
411410 else false)
412411 then t(aM, "burn: invalid asset contract")
413412 else false)
414413 then aH(al, "burn: invalid execution chain")
415414 else false)
416415 then G(aI.payments, 1, "burn: no payment")
417416 else false)
418417 then A(aI.payments[0].amount, M, s, "burn: invalid payment amount")
419418 else false
420419 if ((aK == aK))
421420 then {
422421 let aR = aE(invoke(addressFromStringValue(aM), "getAssetId", nil, nil))
423422 if ((aR == aR))
424423 then {
425424 let aS = aD(invoke(addressFromStringValue(aM), "getDecimals", nil, nil))
426425 if ((aS == aS))
427426 then {
428427 let bc = ak(al, aR)
429428 let bd = bc._1
430429 let be = bc._2
431430 let bf = bc._3
432431 let bg = bc._4
433432 let bh = bc._5
434433 let bi = bc._6
435434 let bj = bc._7
436- let aW = if (if (I(aI.payments[0], aR, "burn: invalid payment asset"))
435+ let bk = if (if (I(aI.payments[0], aR, "burn: invalid payment asset"))
437436 then A(M, be, s, "burn: less than min")
438437 else false)
439438 then E(bj, true, "burn: token is disabled")
440439 else false
441- if ((aW == aW))
440+ if ((bk == bk))
442441 then {
443- let bk = if ((M > bg))
442+ let bl = if ((M > bg))
444443 then bi
445444 else bh
446- let bl = (bf + ((M * bk) / r))
447- let bm = A(M, (bl + 1), s, "burn: fee more than amount")
448- if ((bm == bm))
445+ let bm = (bf + ((M * bl) / r))
446+ let bn = A(M, (bm + 1), s, "burn: fee more than amount")
447+ if ((bn == bn))
449448 then {
450- let bn = (M - bl)
451- let bo = A(bn, (aO + 1), s, "burn: reward more than amount")
452- if ((bo == bo))
449+ let bo = (M - bm)
450+ let bp = A(bo, (aO + 1), s, "burn: reward more than amount")
451+ if ((bp == bp))
453452 then {
454- let bp = (ap(aR) + bl)
455- let aT = L(bn, aS, q)
453+ let bq = (ap(aR) + bm)
454+ let aT = L(bo, aS, q)
456455 let aU = L(aO, aS, q)
457456 let ba = invoke(ar(), n, [al, bd, aT, aN, aU], nil)
458457 if ((ba == ba))
459- then $Tuple2((aq(aR, bp) ++ [Burn(aR, bn)]), unit)
458+ then $Tuple2((aq(aR, bq) ++ [Burn(aR, bo)]), unit)
460459 else throw("Strict value is not equal to itself.")
461460 }
462461 else throw("Strict value is not equal to itself.")
463462 }
464463 else throw("Strict value is not equal to itself.")
465464 }
466465 else throw("Strict value is not equal to itself.")
467466 }
468467 else throw("Strict value is not equal to itself.")
469468 }
470469 else throw("Strict value is not equal to itself.")
471470 }
472471 else throw("Strict value is not equal to itself.")
473472 }
474473
475474
476475
477476 @Callable(aI)
478477 func transferFee (aM) = {
479478 let aK = if (if (az())
480479 then aA()
481480 else false)
482481 then t(aM, "burnFee: invalid asset contract")
483482 else false
484483 if ((aK == aK))
485484 then {
486485 let aR = aE(invoke(addressFromStringValue(aM), "getAssetId", nil, nil))
487486 if ((aR == aR))
488487 then $Tuple2((aq(aR, 0) ++ [ScriptTransfer(au(), ap(aR), aR)]), unit)
489488 else throw("Strict value is not equal to itself.")
490489 }
491490 else throw("Strict value is not equal to itself.")
492491 }
493492
494493
495494
496495 @Callable(aI)
497496 func updateCallerContract (aL) = {
498497 let aK = if (aw(aI.caller))
499498 then az()
500499 else false
501500 if ((aK == aK))
502501 then $Tuple2(af(aL), unit)
503502 else throw("Strict value is not equal to itself.")
504503 }
505504
506505
507506
508507 @Callable(aI)
509-func updateExecutionChain (al,bq) = {
508+func updateExecutionChain (al,br) = {
510509 let aK = if (if (aw(aI.caller))
511510 then az()
512511 else false)
513512 then A(al, 0, s, "updateExecutionChain: invalid executionChainId")
514513 else false
515514 if ((aK == aK))
516- then $Tuple2(aj(al, bq), unit)
515+ then $Tuple2(aj(al, br), unit)
517516 else throw("Strict value is not equal to itself.")
518517 }
519518
520519
521520
522521 @Callable(aI)
523522 func updateFeeRecipient (aJ) = {
524523 let aK = if (if (aw(aI.caller))
525524 then az()
526525 else false)
527526 then t(aJ, "updateFeeRecipient: invalid feeRecipient")
528527 else false
529528 if ((aK == aK))
530529 then $Tuple2(av(addressFromStringValue(aJ)), unit)
531530 else throw("Strict value is not equal to itself.")
532531 }
533532
534533
535534
536535 @Callable(aI)
537-func updateBindingInfo (al,aM,br,bs,bt,bu,bv,bw,bq) = {
536+func updateBindingInfo (al,aM,bs,bt,bu,bv,bw,bx,br) = {
538537 let aK = if (if (if (if (if (if (if (if (aw(aI.caller))
539538 then az()
540539 else false)
541540 then t(aM, "updateBindingInfo: invalid asset contract")
542541 else false)
543542 then A(al, 0, s, "updateBindingInfo: invalid executionChainId")
544543 else false)
545- then A(bs, 0, s, "updateBindingInfo: invalid minAmount")
544+ then A(bt, 0, s, "updateBindingInfo: invalid minAmount")
546545 else false)
547- then A(bt, 0, s, "updateBindingInfo: invalid minFee")
546+ then A(bu, 0, s, "updateBindingInfo: invalid minFee")
548547 else false)
549- then A(bu, 0, s, "updateBindingInfo: invalid thresholdFee")
548+ then A(bv, 0, s, "updateBindingInfo: invalid thresholdFee")
550549 else false)
551- then A(bv, 0, s, "updateBindingInfo: invalid beforePercentFee")
550+ then A(bw, 0, s, "updateBindingInfo: invalid beforePercentFee")
552551 else false)
553- then A(bw, 0, s, "updateBindingInfo: invalid afterPercentFee")
552+ then A(bx, 0, s, "updateBindingInfo: invalid afterPercentFee")
554553 else false
555554 if ((aK == aK))
556555 then {
557556 let aR = aE(invoke(addressFromStringValue(aM), "getAssetId", nil, nil))
558557 if ((aR == aR))
559558 then {
560- let bc = $Tuple7(br, bs, bt, bu, bv, bw, bq)
559+ let bc = $Tuple7(bs, bt, bu, bv, bw, bx, br)
561560 $Tuple2(an(al, aR, bc), unit)
562561 }
563562 else throw("Strict value is not equal to itself.")
564563 }
565564 else throw("Strict value is not equal to itself.")
566565 }
567566
568567
569568
570569 @Callable(aI)
571570 func pause () = {
572571 let aK = if (if (aC(aI.caller))
573572 then az()
574573 else false)
575574 then aA()
576575 else false
577576 if ((aK == aK))
578577 then $Tuple2(T(true), unit)
579578 else throw("Strict value is not equal to itself.")
580579 }
581580
582581
583582
584583 @Callable(aI)
585584 func unpause () = {
586585 let aK = if (if (aC(aI.caller))
587586 then az()
588587 else false)
589588 then aB()
590589 else false
591590 if ((aK == aK))
592591 then $Tuple2(T(false), unit)
593592 else throw("Strict value is not equal to itself.")
594593 }
595594
596595
597596
598597 @Callable(aI)
599598 func updatePauser (X) = {
600599 let aK = if (if (aw(aI.caller))
601600 then az()
602601 else false)
603602 then t(X, "init: invalid pauser")
604603 else false
605604 if ((aK == aK))
606605 then $Tuple2(W(addressFromStringValue(X)), unit)
607606 else throw("Strict value is not equal to itself.")
608607 }
609608
610609
611610
612611 @Callable(aI)
613612 func setMultisig (aa) = {
614613 let aK = if (aw(aI.caller))
615614 then t(aa, "setMultisig: invalid multisig")
616615 else false
617616 if ((aK == aK))
618617 then $Tuple2(Z(addressFromStringValue(aa)), unit)
619618 else throw("Strict value is not equal to itself.")
620619 }
621620
622621
623-@Verifier(bx)
624-func by () = {
622+@Verifier(by)
623+func bz () = {
625624 let w = getString(c)
626625 if ($isInstanceOf(w, "String"))
627626 then {
628- let bz = w
629- valueOrElse(getBoolean(addressFromStringValue(bz), makeString([d, toString(this), toBase58String(bx.id)], a)), false)
627+ let bA = w
628+ valueOrElse(getBoolean(addressFromStringValue(bA), makeString([d, toString(this), toBase58String(by.id)], a)), false)
630629 }
631- else sigVerify(bx.bodyBytes, bx.proofs[0], bx.senderPublicKey)
630+ else sigVerify(by.bodyBytes, by.proofs[0], by.senderPublicKey)
632631 }
633632

github/deemru/w8io/c3f4982 
73.43 ms