tx · GvhZNZwcJLxtzaYbjVhyWXqoS27XNkDXay2gKpT7yPTv

3MqSv5qEvZKapkPQ6hPtUgbZfxdMQexnwqa:  -0.01400000 Waves

2024.11.21 12:55 [3381056] smart account 3MqSv5qEvZKapkPQ6hPtUgbZfxdMQexnwqa > SELF 0.00000000 Waves

{ "type": 13, "id": "GvhZNZwcJLxtzaYbjVhyWXqoS27XNkDXay2gKpT7yPTv", "fee": 1400000, "feeAssetId": null, "timestamp": 1732182852170, "version": 2, "chainId": 84, "sender": "3MqSv5qEvZKapkPQ6hPtUgbZfxdMQexnwqa", "senderPublicKey": "tinwq3CCsobvKT9fhHjTjbxXQdTDmXW9KtgPvR94m1H", "proofs": [ "5X2qWPR52avMqPyVvTwhsv1vwP4qm4tUPypZzkZh1y82Rbvu1xGhCzS7HY7QDr2zavK5YmHSLEmcDfc5rdhMkZVs" ], "script": "base64:BwJFCAISBAoCCAgSBQoDCAgIEgcKBQgICAgIEgUKAwgICBIJCgcICAgICAgIEgUKAwgICBIGCgQICAgIEgUKAwgICBIDCgEIIQAJU0VQQVJBVE9SAgJfXwAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAAhLRVlfSU5JVAIESU5JVAAUS0VZX0dBVEVXQVlfQ09OVFJBQ1QCEEdBVEVXQVlfQ09OVFJBQ1QAFEtFWV9NQVRDSEVSX0NPTlRSQUNUAhBNQVRDSEVSX0NPTlRSQUNUABBLRVlfVVNFUl9CQUxBTkNFAgxVU0VSX0JBTEFOQ0UAEUtFWV9UT1RBTF9CQUxBTkNFAg1UT1RBTF9CQUxBTkNFAAtTUE9UX1dBTExFVAIEU1BPVAAVU1RBS0lOR19SRVdBUkRfV0FMTEVUAg5TVEFLSU5HX1JFV0FSRAALWkVST19CSUdJTlQJALYCAQAAARBfdmFsaWRhdGVBZGRyZXNzAghhZGRyZXNzXwRlcnJfBAckbWF0Y2gwCQCmCAEFCGFkZHJlc3NfAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEPX3ZhbGlkYXRlQmlnSW50AwR2YWxfDmxvd2VyQm91bmRhcnlfBGVycl8DCQC/AgIFDmxvd2VyQm91bmRhcnlfBQR2YWxfCQACAQUEZXJyXwYBD192YWxpZGF0ZVN0cmluZwIEdmFsXwRlcnJfAwMJAGcCAAAJALECAQUEdmFsXwYJAQhjb250YWlucwIFBHZhbF8FCVNFUEFSQVRPUgkAAgEFBGVycl8GARRfdmFsaWRhdGVTdHJpbmdFcXVhbAMFdmFsMV8FdmFsMl8EZXJyXwMJAQIhPQIFBXZhbDFfBQV2YWwyXwkAAgEFBGVycl8GAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBDV9sb2FkTXVsdGlzaWcABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ1fc2F2ZU11bHRpc2lnAQltdWx0aXNpZ18JAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX01VTFRJU0lHCQClCAEFCW11bHRpc2lnXwUDbmlsARRfbG9hZEdhdGV3YXlDb250cmFjdAAEByRtYXRjaDAJAKIIAQUUS0VZX0dBVEVXQVlfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEUX3NhdmVHYXRld2F5Q29udHJhY3QBEGdhdGV3YXlDb250cmFjdF8JAMwIAgkBC1N0cmluZ0VudHJ5AgUUS0VZX0dBVEVXQVlfQ09OVFJBQ1QJAKUIAQUQZ2F0ZXdheUNvbnRyYWN0XwUDbmlsARRfbG9hZE1hdGNoZXJDb250cmFjdAAEByRtYXRjaDAJAKIIAQUUS0VZX01BVENIRVJfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEUX3NhdmVNYXRjaGVyQ29udHJhY3QBEG1hdGNoZXJDb250cmFjdF8JAMwIAgkBC1N0cmluZ0VudHJ5AgUUS0VZX01BVENIRVJfQ09OVFJBQ1QJAKUIAQUQbWF0Y2hlckNvbnRyYWN0XwUDbmlsARBfbG9hZFVzZXJCYWxhbmNlAwV1c2VyXwd3YWxsZXRfCWN1cnJlbmN5XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUQS0VZX1VTRVJfQkFMQU5DRQkAzAgCBQV1c2VyXwkAzAgCBQd3YWxsZXRfCQDMCAIFCWN1cnJlbmN5XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQCnAwEFAWEFC1pFUk9fQklHSU5UARBfc2F2ZVVzZXJCYWxhbmNlBAV1c2VyXwd3YWxsZXRfCWN1cnJlbmN5XwhiYWxhbmNlXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUQS0VZX1VTRVJfQkFMQU5DRQkAzAgCBQV1c2VyXwkAzAgCBQd3YWxsZXRfCQDMCAIFCWN1cnJlbmN5XwUDbmlsBQlTRVBBUkFUT1IJAKYDAQUIYmFsYW5jZV8FA25pbAERX2xvYWRUb3RhbEJhbGFuY2UBCWN1cnJlbmN5XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgURS0VZX1RPVEFMX0JBTEFOQ0UJAMwIAgUJY3VycmVuY3lfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJAKcDAQUBYQULWkVST19CSUdJTlQBEV9zYXZlVG90YWxCYWxhbmNlAgljdXJyZW5jeV8IYmFsYW5jZV8JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFEUtFWV9UT1RBTF9CQUxBTkNFCQDMCAIFCWN1cnJlbmN5XwUDbmlsBQlTRVBBUkFUT1IJAKYDAQUIYmFsYW5jZV8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgEQX3ZhbGlkYXRlR2F0ZXdheQIGY2FsbGVyBGVycl8DCQECIT0CCQEUX2xvYWRHYXRld2F5Q29udHJhY3QABQZjYWxsZXIJAAIBBQRlcnJfBgEQX3ZhbGlkYXRlTWF0Y2hlcgIGY2FsbGVyBGVycl8DCQECIT0CCQEUX2xvYWRNYXRjaGVyQ29udHJhY3QABQZjYWxsZXIJAAIBBQRlcnJfBgkBaQEEaW5pdAIQZ2F0ZXdheUNvbnRyYWN0XxBtYXRjaGVyQ29udHJhY3RfBANlcnIDAwMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARNfd2hlbk5vdEluaXRpYWxpemVkAAcJARBfd2hlbk11bHRpc2lnU2V0AAcJARBfdmFsaWRhdGVBZGRyZXNzAgUQZ2F0ZXdheUNvbnRyYWN0XwIdaW5pdDogaW52YWxpZCBnYXRld2F5Q29udHJhY3QHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFEG1hdGNoZXJDb250cmFjdF8CHWluaXQ6IGludmFsaWQgbWF0Y2hlckNvbnRyYWN0BwMJAAACBQNlcnIFA2VycgkAlAoCCQDOCAIJAM4IAgkBCV9zYXZlSW5pdAEGCQEUX3NhdmVHYXRld2F5Q29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBRBnYXRld2F5Q29udHJhY3RfCQEUX3NhdmVNYXRjaGVyQ29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBRBtYXRjaGVyQ29udHJhY3RfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2RlcG9zaXQDBXVzZXJfCWN1cnJlbmN5XwdhbW91bnRfBAZhbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAqAMBBQdhbW91bnRfAhdkZXBvc2l0OiBhbW91bnQgbm90IGludAQDZXJyAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEPX3ZhbGlkYXRlU3RyaW5nAgUFdXNlcl8CFWRlcG9zaXQ6IGludmFsaWQgdXNlcgcJAQ9fdmFsaWRhdGVTdHJpbmcCBQljdXJyZW5jeV8CGWRlcG9zaXQ6IGludmFsaWQgY3VycmVuY3kHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIXZGVwb3NpdDogaW52YWxpZCBhbW91bnQHCQEQX3ZhbGlkYXRlR2F0ZXdheQIIBQFpBmNhbGxlcgIXZGVwb3NpdDogaW52YWxpZCBjYWxsZXIHAwkAAAIFA2VycgUDZXJyBAt1c2VyQmFsYW5jZQkBEF9sb2FkVXNlckJhbGFuY2UDBQV1c2VyXwULU1BPVF9XQUxMRVQFCWN1cnJlbmN5XwkAlAoCCQDOCAIJARBfc2F2ZVVzZXJCYWxhbmNlBAUFdXNlcl8FC1NQT1RfV0FMTEVUBQljdXJyZW5jeV8JALcCAgULdXNlckJhbGFuY2UFBmFtb3VudAkBEV9zYXZlVG90YWxCYWxhbmNlAgUJY3VycmVuY3lfCQC3AgIJARFfbG9hZFRvdGFsQmFsYW5jZQEFCWN1cnJlbmN5XwUGYW1vdW50BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEGludGVybmFsVHJhbnNmZXIFBXVzZXJfDXNvdXJjZVdhbGxldF8NdGFyZ2V0V2FsbGV0XwljdXJyZW5jeV8HYW1vdW50XwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQUHYW1vdW50XwIgaW50ZXJuYWxUcmFuc2ZlcjogYW1vdW50IG5vdCBpbnQEA2VycgMDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEPX3ZhbGlkYXRlU3RyaW5nAgUFdXNlcl8CHmludGVybmFsVHJhbnNmZXI6IGludmFsaWQgdXNlcgcJAQ9fdmFsaWRhdGVTdHJpbmcCBQ1zb3VyY2VXYWxsZXRfAiZpbnRlcm5hbFRyYW5zZmVyOiBpbnZhbGlkIHNvdXJjZVdhbGxldAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQ10YXJnZXRXYWxsZXRfAiZpbnRlcm5hbFRyYW5zZmVyOiBpbnZhbGlkIHRhcmdldFdhbGxldAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQljdXJyZW5jeV8CImludGVybmFsVHJhbnNmZXI6IGludmFsaWQgY3VycmVuY3kHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIgaW50ZXJuYWxUcmFuc2ZlcjogaW52YWxpZCBhbW91bnQHCQEQX3ZhbGlkYXRlTWF0Y2hlcgIIBQFpBmNhbGxlcgIoaW50ZXJuYWxUcmFuc2ZlcjogaW52YWxpZCBtYXRjaGVyIGNhbGxlcgcDCQAAAgUDZXJyBQNlcnIEEXVzZXJTb3VyY2VCYWxhbmNlCQEQX2xvYWRVc2VyQmFsYW5jZQMFBXVzZXJfBQ1zb3VyY2VXYWxsZXRfBQljdXJyZW5jeV8EEXVzZXJUYXJnZXRCYWxhbmNlCQEQX2xvYWRVc2VyQmFsYW5jZQMFBXVzZXJfBQ10YXJnZXRXYWxsZXRfBQljdXJyZW5jeV8EFG5ld1VzZXJTb3VyY2VCYWxhbmNlCQC4AgIFEXVzZXJTb3VyY2VCYWxhbmNlBQZhbW91bnQEFG5ld1VzZXJUYXJnZXRCYWxhbmNlCQC3AgIFEXVzZXJUYXJnZXRCYWxhbmNlBQZhbW91bnQEBGVycjEJAQ9fdmFsaWRhdGVCaWdJbnQDBRRuZXdVc2VyU291cmNlQmFsYW5jZQULWkVST19CSUdJTlQCJWludGVybmFsVHJhbnNmZXI6IGluc3VmZmljaWVudCBhbW91bnQDCQAAAgUEZXJyMQUEZXJyMQkAlAoCCQDOCAIJARBfc2F2ZVVzZXJCYWxhbmNlBAUFdXNlcl8FDXNvdXJjZVdhbGxldF8FCWN1cnJlbmN5XwUUbmV3VXNlclNvdXJjZUJhbGFuY2UJARBfc2F2ZVVzZXJCYWxhbmNlBAUFdXNlcl8FDXRhcmdldFdhbGxldF8FCWN1cnJlbmN5XwUUbmV3VXNlclRhcmdldEJhbGFuY2UFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEId2l0aGRyYXcDBXVzZXJfCWN1cnJlbmN5XwdhbW91bnRfBAZhbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAqAMBBQdhbW91bnRfAhh3aXRoZHJhdzogYW1vdW50IG5vdCBpbnQEA2VycgMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBD192YWxpZGF0ZVN0cmluZwIFBXVzZXJfAhZ3aXRoZHJhdzogaW52YWxpZCB1c2VyBwkBD192YWxpZGF0ZVN0cmluZwIFCWN1cnJlbmN5XwIad2l0aGRyYXc6IGludmFsaWQgY3VycmVuY3kHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIYd2l0aGRyYXc6IGludmFsaWQgYW1vdW50BwkBEF92YWxpZGF0ZUdhdGV3YXkCCAUBaQZjYWxsZXICGHdpdGhkcmF3OiBpbnZhbGlkIGNhbGxlcgcDCQAAAgUDZXJyBQNlcnIEC3VzZXJCYWxhbmNlCQEQX2xvYWRVc2VyQmFsYW5jZQMFBXVzZXJfBQtTUE9UX1dBTExFVAUJY3VycmVuY3lfBA5uZXdVc2VyQmFsYW5jZQkAuAICBQt1c2VyQmFsYW5jZQUGYW1vdW50BA9uZXdUb3RhbEJhbGFuY2UJALgCAgkBEV9sb2FkVG90YWxCYWxhbmNlAQUJY3VycmVuY3lfBQZhbW91bnQEBGVycjEDCQEPX3ZhbGlkYXRlQmlnSW50AwUObmV3VXNlckJhbGFuY2UFC1pFUk9fQklHSU5UAh13aXRoZHJhdzogaW5zdWZmaWNpZW50IGFtb3VudAkBD192YWxpZGF0ZUJpZ0ludAMFD25ld1RvdGFsQmFsYW5jZQULWkVST19CSUdJTlQCIHdpdGhkcmF3OiBuZWdhdGl2ZSB0b3RhbCBiYWxhbmNlBwMJAAACBQRlcnIxBQRlcnIxCQCUCgIJAM4IAgkBEF9zYXZlVXNlckJhbGFuY2UEBQV1c2VyXwULU1BPVF9XQUxMRVQFCWN1cnJlbmN5XwUObmV3VXNlckJhbGFuY2UJARFfc2F2ZVRvdGFsQmFsYW5jZQIFCWN1cnJlbmN5XwUPbmV3VG90YWxCYWxhbmNlBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEGV4dGVybmFsVHJhbnNmZXIHB3dhbGxldF8JY3VycmVuY3lfBWZyb21fA3RvXwdhbW91bnRfBGZlZV8EZGV4XwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQUHYW1vdW50XwIgZXh0ZXJuYWxUcmFuc2ZlcjogYW1vdW50IG5vdCBpbnQEA2ZlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFBGZlZV8CHWV4dGVybmFsVHJhbnNmZXI6IGZlZSBub3QgaW50BANlcnIDAwMDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEPX3ZhbGlkYXRlU3RyaW5nAgUHd2FsbGV0XwIgZXh0ZXJuYWxUcmFuc2ZlcjogaW52YWxpZCB3YWxsZXQHCQEPX3ZhbGlkYXRlU3RyaW5nAgUJY3VycmVuY3lfAiJleHRlcm5hbFRyYW5zZmVyOiBpbnZhbGlkIGN1cnJlbmN5BwkBD192YWxpZGF0ZVN0cmluZwIFBWZyb21fAh5leHRlcm5hbFRyYW5zZmVyOiBpbnZhbGlkIGZyb20HCQEPX3ZhbGlkYXRlU3RyaW5nAgUDdG9fAhxleHRlcm5hbFRyYW5zZmVyOiBpbnZhbGlkIHRvBwkBD192YWxpZGF0ZUJpZ0ludAMFBmFtb3VudAULWkVST19CSUdJTlQCIGV4dGVybmFsVHJhbnNmZXI6IGludmFsaWQgYW1vdW50BwkBD192YWxpZGF0ZUJpZ0ludAMFA2ZlZQULWkVST19CSUdJTlQCHWV4dGVybmFsVHJhbnNmZXI6IGludmFsaWQgZmVlBwkBD192YWxpZGF0ZVN0cmluZwIFBGRleF8CHWV4dGVybmFsVHJhbnNmZXI6IGludmFsaWQgZGV4BwkBEF92YWxpZGF0ZU1hdGNoZXICCAUBaQZjYWxsZXICKGV4dGVybmFsVHJhbnNmZXI6IGludmFsaWQgbWF0Y2hlciBjYWxsZXIHAwkAAAIFA2VycgUDZXJyBBF1c2VyU291cmNlQmFsYW5jZQkBEF9sb2FkVXNlckJhbGFuY2UDBQVmcm9tXwUHd2FsbGV0XwUJY3VycmVuY3lfBBF1c2VyVGFyZ2V0QmFsYW5jZQkBEF9sb2FkVXNlckJhbGFuY2UDBQN0b18FB3dhbGxldF8FCWN1cnJlbmN5XwQQZGV4VGFyZ2V0QmFsYW5jZQkBEF9sb2FkVXNlckJhbGFuY2UDBQRkZXhfBQd3YWxsZXRfBQljdXJyZW5jeV8EFG5ld1VzZXJTb3VyY2VCYWxhbmNlCQC4AgIJALgCAgURdXNlclNvdXJjZUJhbGFuY2UFBmFtb3VudAUDZmVlBBRuZXdVc2VyVGFyZ2V0QmFsYW5jZQkAtwICBRF1c2VyVGFyZ2V0QmFsYW5jZQUGYW1vdW50BBNuZXdEZXhUYXJnZXRCYWxhbmNlCQC3AgIFEGRleFRhcmdldEJhbGFuY2UFA2ZlZQQEZXJyMQkBD192YWxpZGF0ZUJpZ0ludAMFFG5ld1VzZXJTb3VyY2VCYWxhbmNlBQtaRVJPX0JJR0lOVAIlZXh0ZXJuYWxUcmFuc2ZlcjogaW5zdWZmaWNpZW50IGFtb3VudAMJAAACBQRlcnIxBQRlcnIxCQCUCgIJAM4IAgkAzggCCQEQX3NhdmVVc2VyQmFsYW5jZQQFBWZyb21fBQd3YWxsZXRfBQljdXJyZW5jeV8FFG5ld1VzZXJTb3VyY2VCYWxhbmNlCQEQX3NhdmVVc2VyQmFsYW5jZQQFA3RvXwUHd2FsbGV0XwUJY3VycmVuY3lfBRRuZXdVc2VyVGFyZ2V0QmFsYW5jZQkBEF9zYXZlVXNlckJhbGFuY2UEBQRkZXhfBQd3YWxsZXRfBQljdXJyZW5jeV8FE25ld0RleFRhcmdldEJhbGFuY2UFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEUZGVwb3NpdFN0YWtpbmdSZXdhcmQDBGRleF8JY3VycmVuY3lfB2Ftb3VudF8EBmFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFB2Ftb3VudF8CJGRlcG9zaXRTdGFraW5nUmV3YXJkOiBhbW91bnQgbm90IGludAQDZXJyAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEPX3ZhbGlkYXRlU3RyaW5nAgUEZGV4XwIhZGVwb3NpdFN0YWtpbmdSZXdhcmQ6IGludmFsaWQgZGV4BwkBD192YWxpZGF0ZVN0cmluZwIFCWN1cnJlbmN5XwImZGVwb3NpdFN0YWtpbmdSZXdhcmQ6IGludmFsaWQgY3VycmVuY3kHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIkZGVwb3NpdFN0YWtpbmdSZXdhcmQ6IGludmFsaWQgYW1vdW50BwkBEF92YWxpZGF0ZUdhdGV3YXkCCAUBaQZjYWxsZXICJGRlcG9zaXRTdGFraW5nUmV3YXJkOiBpbnZhbGlkIGNhbGxlcgcDCQAAAgUDZXJyBQNlcnIEC3VzZXJCYWxhbmNlCQEQX2xvYWRVc2VyQmFsYW5jZQMFBGRleF8FFVNUQUtJTkdfUkVXQVJEX1dBTExFVAUJY3VycmVuY3lfCQCUCgIJAM4IAgkBEF9zYXZlVXNlckJhbGFuY2UEBQRkZXhfBRVTVEFLSU5HX1JFV0FSRF9XQUxMRVQFCWN1cnJlbmN5XwkAtwICBQt1c2VyQmFsYW5jZQUGYW1vdW50CQERX3NhdmVUb3RhbEJhbGFuY2UCBQljdXJyZW5jeV8JALcCAgkBEV9sb2FkVG90YWxCYWxhbmNlAQUJY3VycmVuY3lfBQZhbW91bnQFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELY2xhaW1SZXdhcmQEBGRleF8FdXNlcl8JY3VycmVuY3lfB2Ftb3VudF8EBmFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFB2Ftb3VudF8CG2NsYWltUmV3YXJkOiBhbW91bnQgbm90IGludAQDZXJyAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBD192YWxpZGF0ZVN0cmluZwIFBGRleF8CGGNsYWltUmV3YXJkOiBpbnZhbGlkIGRleAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQV1c2VyXwIZY2xhaW1SZXdhcmQ6IGludmFsaWQgdXNlcgcJAQ9fdmFsaWRhdGVTdHJpbmcCBQljdXJyZW5jeV8CHWNsYWltUmV3YXJkOiBpbnZhbGlkIGN1cnJlbmN5BwkBD192YWxpZGF0ZUJpZ0ludAMFBmFtb3VudAULWkVST19CSUdJTlQCG2NsYWltUmV3YXJkOiBpbnZhbGlkIGFtb3VudAcJARBfdmFsaWRhdGVNYXRjaGVyAggFAWkGY2FsbGVyAiNjbGFpbVJld2FyZDogaW52YWxpZCBtYXRjaGVyIGNhbGxlcgcDCQAAAgUDZXJyBQNlcnIEEGRleFNvdXJjZUJhbGFuY2UJARBfbG9hZFVzZXJCYWxhbmNlAwUEZGV4XwUVU1RBS0lOR19SRVdBUkRfV0FMTEVUBQljdXJyZW5jeV8EEXVzZXJUYXJnZXRCYWxhbmNlCQEQX2xvYWRVc2VyQmFsYW5jZQMFBXVzZXJfBQtTUE9UX1dBTExFVAUJY3VycmVuY3lfBBNuZXdEZXhTb3VyY2VCYWxhbmNlCQC4AgIFEGRleFNvdXJjZUJhbGFuY2UFBmFtb3VudAQUbmV3VXNlclRhcmdldEJhbGFuY2UJALcCAgURdXNlclRhcmdldEJhbGFuY2UFBmFtb3VudAQEZXJyMQkBD192YWxpZGF0ZUJpZ0ludAMFE25ld0RleFNvdXJjZUJhbGFuY2UFC1pFUk9fQklHSU5UAiBjbGFpbVJld2FyZDogaW5zdWZmaWNpZW50IGFtb3VudAMJAAACBQRlcnIxBQRlcnIxCQCUCgIJAM4IAgkBEF9zYXZlVXNlckJhbGFuY2UEBQRkZXhfBRVTVEFLSU5HX1JFV0FSRF9XQUxMRVQFCWN1cnJlbmN5XwUTbmV3RGV4U291cmNlQmFsYW5jZQkBEF9zYXZlVXNlckJhbGFuY2UEBQV1c2VyXwULU1BPVF9XQUxMRVQFCWN1cnJlbmN5XwUUbmV3VXNlclRhcmdldEJhbGFuY2UFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEOZ2V0VXNlckJhbGFuY2UDBXVzZXJfB3dhbGxldF8JY3VycmVuY3lfCQCUCgIFA25pbAkApgMBCQEQX2xvYWRVc2VyQmFsYW5jZQMFBXVzZXJfBQd3YWxsZXRfBQljdXJyZW5jeV8BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIdc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQ1fc2F2ZU11bHRpc2lnAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJbXVsdGlzaWdfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAUCdHgEByRtYXRjaDEJAKIIAQUMS0VZX01VTFRJU0lHAwkAAQIFByRtYXRjaDECBlN0cmluZwQIbXVsdGlzaWcFByRtYXRjaDEJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUIbXVsdGlzaWcJALkJAgkAzAgCBQpLRVlfU1RBVFVTCQDMCAIJAKUIAQUEdGhpcwkAzAgCCQDYBAEIBQJ0eAJpZAUDbmlsBQlTRVBBUkFUT1IHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5fQO9bw==", "height": 3381056, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FFDt51UGQUxwE3127Cu5DhPAigdsPYuibeSofwCzwexu Next: none Diff:
OldNewDifferences
1919
2020 let i = "SPOT"
2121
22-let j = "WITHDRAWALS"
22+let j = "STAKING_REWARD"
2323
24-let k = "STAKING_REWARD"
24+let k = toBigInt(0)
2525
26-let l = toBigInt(0)
27-
28-func m (n,o) = {
29- let p = addressFromString(n)
30- if ($isInstanceOf(p, "Address"))
26+func l (m,n) = {
27+ let o = addressFromString(m)
28+ if ($isInstanceOf(o, "Address"))
3129 then {
32- let q = p
30+ let p = o
3331 true
3432 }
35- else throw(o)
33+ else throw(n)
3634 }
3735
3836
39-func r (s,t,o) = if ((t > s))
40- then throw(o)
37+func q (r,s,n) = if ((s > r))
38+ then throw(n)
4139 else true
4240
4341
44-func u (s,o) = if (if ((0 >= size(s)))
42+func t (r,n) = if (if ((0 >= size(r)))
4543 then true
46- else contains(s, a))
47- then throw(o)
44+ else contains(r, a))
45+ then throw(n)
4846 else true
4947
5048
51-func v (w,x,o) = if ((w != x))
52- then throw(o)
49+func u (v,w,n) = if ((v != w))
50+ then throw(n)
5351 else true
5452
5553
56-func y () = {
57- let p = getBoolean(d)
58- if ($isInstanceOf(p, "Boolean"))
54+func x () = {
55+ let o = getBoolean(d)
56+ if ($isInstanceOf(o, "Boolean"))
5957 then {
60- let q = p
61- q
58+ let p = o
59+ p
6260 }
6361 else false
6462 }
6563
6664
67-func z (A) = [BooleanEntry(d, A)]
65+func y (z) = [BooleanEntry(d, z)]
6866
6967
70-func B () = {
71- let p = getString(b)
72- if ($isInstanceOf(p, "String"))
68+func A () = {
69+ let o = getString(b)
70+ if ($isInstanceOf(o, "String"))
7371 then {
74- let q = p
75- addressFromStringValue(q)
72+ let p = o
73+ addressFromStringValue(p)
7674 }
7775 else Address(base58'')
7876 }
7977
8078
81-func C (D) = [StringEntry(b, toString(D))]
79+func B (C) = [StringEntry(b, toString(C))]
8280
8381
84-func E () = {
85- let p = getString(e)
86- if ($isInstanceOf(p, "String"))
82+func D () = {
83+ let o = getString(e)
84+ if ($isInstanceOf(o, "String"))
8785 then {
88- let q = p
89- addressFromStringValue(q)
86+ let p = o
87+ addressFromStringValue(p)
9088 }
9189 else Address(base58'')
9290 }
9391
9492
95-func F (G) = [StringEntry(e, toString(G))]
93+func E (F) = [StringEntry(e, toString(F))]
9694
9795
98-func H () = {
99- let p = getString(f)
100- if ($isInstanceOf(p, "String"))
96+func G () = {
97+ let o = getString(f)
98+ if ($isInstanceOf(o, "String"))
10199 then {
102- let q = p
103- addressFromStringValue(q)
100+ let p = o
101+ addressFromStringValue(p)
104102 }
105103 else Address(base58'')
106104 }
107105
108106
109-func I (J) = [StringEntry(f, toString(J))]
107+func H (I) = [StringEntry(f, toString(I))]
110108
111109
112-func K (L,M,N) = {
113- let p = getString(makeString([g, L, M, N], a))
114- if ($isInstanceOf(p, "String"))
110+func J (K,L,M) = {
111+ let o = getString(makeString([g, K, L, M], a))
112+ if ($isInstanceOf(o, "String"))
115113 then {
116- let q = p
117- parseBigIntValue(q)
114+ let p = o
115+ parseBigIntValue(p)
118116 }
119- else l
117+ else k
120118 }
121119
122120
123-func O (L,M,N,P) = [StringEntry(makeString([g, L, M, N], a), toString(P))]
121+func N (K,L,M,O) = [StringEntry(makeString([g, K, L, M], a), toString(O))]
124122
125123
126-func Q (N) = {
127- let p = getString(makeString([h, N], a))
128- if ($isInstanceOf(p, "String"))
124+func P (M) = {
125+ let o = getString(makeString([h, M], a))
126+ if ($isInstanceOf(o, "String"))
129127 then {
130- let q = p
131- parseBigIntValue(q)
128+ let p = o
129+ parseBigIntValue(p)
132130 }
133- else l
131+ else k
134132 }
135133
136134
137-func R (N,P) = [StringEntry(makeString([h, N], a), toString(P))]
135+func Q (M,O) = [StringEntry(makeString([h, M], a), toString(O))]
138136
139137
140-func S (T) = if ((T != this))
138+func R (S) = if ((S != this))
141139 then throw("_onlyThisContract: revert")
142140 else true
143141
144142
145-func U () = if ((B() == Address(base58'')))
143+func T () = if ((A() == Address(base58'')))
146144 then throw("_whenMultisigSet: revert")
147145 else true
148146
149147
150-func V () = if (y())
148+func U () = if (x())
151149 then throw("_whenNotInitialized: revert")
152150 else true
153151
154152
155-func W () = if (!(y()))
153+func V () = if (!(x()))
156154 then throw("_whenInitialized: revert")
157155 else true
158156
159157
160-func X (Y,o) = if ((E() != Y))
161- then throw(o)
158+func W (X,n) = if ((D() != X))
159+ then throw(n)
162160 else true
163161
164162
165-func Z (Y,o) = if ((H() != Y))
166- then throw(o)
163+func Y (X,n) = if ((G() != X))
164+ then throw(n)
167165 else true
168166
169167
170-@Callable(aa)
171-func init (G,J) = {
172- let ab = if (if (if (if (S(aa.caller))
173- then V()
174- else false)
168+@Callable(Z)
169+func init (F,I) = {
170+ let aa = if (if (if (if (R(Z.caller))
175171 then U()
176172 else false)
177- then m(G, "init: invalid gatewayContract")
173+ then T()
178174 else false)
179- then m(J, "init: invalid matcherContract")
175+ then l(F, "init: invalid gatewayContract")
176+ else false)
177+ then l(I, "init: invalid matcherContract")
180178 else false
181- if ((ab == ab))
182- then $Tuple2(((z(true) ++ F(addressFromStringValue(G))) ++ I(addressFromStringValue(J))), unit)
179+ if ((aa == aa))
180+ then $Tuple2(((y(true) ++ E(addressFromStringValue(F))) ++ H(addressFromStringValue(I))), unit)
183181 else throw("Strict value is not equal to itself.")
184182 }
185183
186184
187185
188-@Callable(aa)
189-func deposit (L,N,ac) = {
190- let ad = valueOrErrorMessage(parseBigInt(ac), "deposit: amount not int")
191- let ab = if (if (if (if (W())
192- then u(L, "deposit: invalid user")
186+@Callable(Z)
187+func deposit (K,M,ab) = {
188+ let ac = valueOrErrorMessage(parseBigInt(ab), "deposit: amount not int")
189+ let aa = if (if (if (if (V())
190+ then t(K, "deposit: invalid user")
193191 else false)
194- then u(N, "deposit: invalid currency")
192+ then t(M, "deposit: invalid currency")
195193 else false)
196- then r(ad, l, "deposit: invalid amount")
194+ then q(ac, k, "deposit: invalid amount")
197195 else false)
198- then X(aa.caller, "deposit: invalid caller")
196+ then W(Z.caller, "deposit: invalid caller")
199197 else false
200- if ((ab == ab))
198+ if ((aa == aa))
201199 then {
202- let ae = K(L, i, N)
203- $Tuple2((O(L, i, N, (ae + ad)) ++ R(N, (Q(N) + ad))), unit)
200+ let ad = J(K, i, M)
201+ $Tuple2((N(K, i, M, (ad + ac)) ++ Q(M, (P(M) + ac))), unit)
204202 }
205203 else throw("Strict value is not equal to itself.")
206204 }
207205
208206
209207
210-@Callable(aa)
211-func internalTransfer (L,af,ag,N,ac) = {
212- let ad = valueOrErrorMessage(parseBigInt(ac), "internalTransfer: amount not int")
213- let ab = if (if (if (if (if (if (W())
214- then u(L, "internalTransfer: invalid user")
208+@Callable(Z)
209+func internalTransfer (K,ae,af,M,ab) = {
210+ let ac = valueOrErrorMessage(parseBigInt(ab), "internalTransfer: amount not int")
211+ let aa = if (if (if (if (if (if (V())
212+ then t(K, "internalTransfer: invalid user")
215213 else false)
216- then u(af, "internalTransfer: invalid sourceWallet")
214+ then t(ae, "internalTransfer: invalid sourceWallet")
217215 else false)
218- then u(ag, "internalTransfer: invalid targetWallet")
216+ then t(af, "internalTransfer: invalid targetWallet")
219217 else false)
220- then u(N, "internalTransfer: invalid currency")
218+ then t(M, "internalTransfer: invalid currency")
221219 else false)
222- then r(ad, l, "internalTransfer: invalid amount")
220+ then q(ac, k, "internalTransfer: invalid amount")
223221 else false)
224- then if ((ag == j))
225- then X(aa.caller, "internalTransfer: invalid gw caller")
226- else Z(aa.caller, "internalTransfer: invalid matcher caller")
222+ then Y(Z.caller, "internalTransfer: invalid matcher caller")
227223 else false
228- if ((ab == ab))
224+ if ((aa == aa))
229225 then {
230- let ah = K(L, af, N)
231- let ai = K(L, ag, N)
232- let aj = (ah - ad)
233- let ak = (ai + ad)
234- let al = r(aj, l, "internalTransfer: insufficient amount")
235- if ((al == al))
236- then $Tuple2((O(L, af, N, aj) ++ O(L, ag, N, ak)), unit)
226+ let ag = J(K, ae, M)
227+ let ah = J(K, af, M)
228+ let ai = (ag - ac)
229+ let aj = (ah + ac)
230+ let ak = q(ai, k, "internalTransfer: insufficient amount")
231+ if ((ak == ak))
232+ then $Tuple2((N(K, ae, M, ai) ++ N(K, af, M, aj)), unit)
237233 else throw("Strict value is not equal to itself.")
238234 }
239235 else throw("Strict value is not equal to itself.")
241237
242238
243239
244-@Callable(aa)
245-func withdraw (L,N,ac) = {
246- let ad = valueOrErrorMessage(parseBigInt(ac), "withdraw: amount not int")
247- let ab = if (if (if (if (W())
248- then u(L, "withdraw: invalid user")
240+@Callable(Z)
241+func withdraw (K,M,ab) = {
242+ let ac = valueOrErrorMessage(parseBigInt(ab), "withdraw: amount not int")
243+ let aa = if (if (if (if (V())
244+ then t(K, "withdraw: invalid user")
249245 else false)
250- then u(N, "withdraw: invalid currency")
246+ then t(M, "withdraw: invalid currency")
251247 else false)
252- then r(ad, l, "withdraw: invalid amount")
248+ then q(ac, k, "withdraw: invalid amount")
253249 else false)
254- then X(aa.caller, "withdraw: invalid caller")
250+ then W(Z.caller, "withdraw: invalid caller")
255251 else false
256- if ((ab == ab))
252+ if ((aa == aa))
257253 then {
258- let ae = K(L, j, N)
259- let am = (ae - ad)
260- let an = (Q(N) - ad)
261- let al = if (r(am, l, "withdraw: insufficient amount"))
262- then r(an, l, "withdraw: negative total balance")
254+ let ad = J(K, i, M)
255+ let al = (ad - ac)
256+ let am = (P(M) - ac)
257+ let ak = if (q(al, k, "withdraw: insufficient amount"))
258+ then q(am, k, "withdraw: negative total balance")
263259 else false
264- if ((al == al))
265- then $Tuple2((O(L, j, N, am) ++ R(N, an)), unit)
260+ if ((ak == ak))
261+ then $Tuple2((N(K, i, M, al) ++ Q(M, am)), unit)
266262 else throw("Strict value is not equal to itself.")
267263 }
268264 else throw("Strict value is not equal to itself.")
270266
271267
272268
273-@Callable(aa)
274-func externalTransfer (M,N,ao,ap,ac,aq,ar) = {
275- let ad = valueOrErrorMessage(parseBigInt(ac), "externalTransfer: amount not int")
276- let as = valueOrErrorMessage(parseBigInt(aq), "externalTransfer: fee not int")
277- let ab = if (if (if (if (if (if (if (if (W())
278- then u(M, "externalTransfer: invalid wallet")
269+@Callable(Z)
270+func externalTransfer (L,M,an,ao,ab,ap,aq) = {
271+ let ac = valueOrErrorMessage(parseBigInt(ab), "externalTransfer: amount not int")
272+ let ar = valueOrErrorMessage(parseBigInt(ap), "externalTransfer: fee not int")
273+ let aa = if (if (if (if (if (if (if (if (V())
274+ then t(L, "externalTransfer: invalid wallet")
279275 else false)
280- then u(N, "externalTransfer: invalid currency")
276+ then t(M, "externalTransfer: invalid currency")
281277 else false)
282- then u(ao, "externalTransfer: invalid from")
278+ then t(an, "externalTransfer: invalid from")
283279 else false)
284- then u(ap, "externalTransfer: invalid to")
280+ then t(ao, "externalTransfer: invalid to")
285281 else false)
286- then r(ad, l, "externalTransfer: invalid amount")
282+ then q(ac, k, "externalTransfer: invalid amount")
287283 else false)
288- then r(as, l, "externalTransfer: invalid fee")
284+ then q(ar, k, "externalTransfer: invalid fee")
289285 else false)
290- then u(ar, "externalTransfer: invalid dex")
286+ then t(aq, "externalTransfer: invalid dex")
291287 else false)
292- then Z(aa.caller, "externalTransfer: invalid matcher caller")
288+ then Y(Z.caller, "externalTransfer: invalid matcher caller")
293289 else false
294- if ((ab == ab))
290+ if ((aa == aa))
295291 then {
296- let ah = K(ao, M, N)
297- let ai = K(ap, M, N)
298- let at = K(ar, M, N)
299- let aj = ((ah - ad) - as)
300- let ak = (ai + ad)
301- let au = (at + as)
302- let al = r(aj, l, "externalTransfer: insufficient amount")
303- if ((al == al))
304- then $Tuple2(((O(ao, M, N, aj) ++ O(ap, M, N, ak)) ++ O(ar, M, N, au)), unit)
292+ let ag = J(an, L, M)
293+ let ah = J(ao, L, M)
294+ let as = J(aq, L, M)
295+ let ai = ((ag - ac) - ar)
296+ let aj = (ah + ac)
297+ let at = (as + ar)
298+ let ak = q(ai, k, "externalTransfer: insufficient amount")
299+ if ((ak == ak))
300+ then $Tuple2(((N(an, L, M, ai) ++ N(ao, L, M, aj)) ++ N(aq, L, M, at)), unit)
305301 else throw("Strict value is not equal to itself.")
306302 }
307303 else throw("Strict value is not equal to itself.")
309305
310306
311307
312-@Callable(aa)
313-func depositStakingReward (ar,N,ac) = {
314- let ad = valueOrErrorMessage(parseBigInt(ac), "depositStakingReward: amount not int")
315- let ab = if (if (if (if (W())
316- then u(ar, "depositStakingReward: invalid dex")
308+@Callable(Z)
309+func depositStakingReward (aq,M,ab) = {
310+ let ac = valueOrErrorMessage(parseBigInt(ab), "depositStakingReward: amount not int")
311+ let aa = if (if (if (if (V())
312+ then t(aq, "depositStakingReward: invalid dex")
317313 else false)
318- then u(N, "depositStakingReward: invalid currency")
314+ then t(M, "depositStakingReward: invalid currency")
319315 else false)
320- then r(ad, l, "depositStakingReward: invalid amount")
316+ then q(ac, k, "depositStakingReward: invalid amount")
321317 else false)
322- then X(aa.caller, "depositStakingReward: invalid caller")
318+ then W(Z.caller, "depositStakingReward: invalid caller")
323319 else false
324- if ((ab == ab))
320+ if ((aa == aa))
325321 then {
326- let ae = K(ar, k, N)
327- $Tuple2((O(ar, k, N, (ae + ad)) ++ R(N, (Q(N) + ad))), unit)
322+ let ad = J(aq, j, M)
323+ $Tuple2((N(aq, j, M, (ad + ac)) ++ Q(M, (P(M) + ac))), unit)
328324 }
329325 else throw("Strict value is not equal to itself.")
330326 }
331327
332328
333329
334-@Callable(aa)
335-func claimReward (ar,L,N,ac) = {
336- let ad = valueOrErrorMessage(parseBigInt(ac), "claimReward: amount not int")
337- let ab = if (if (if (if (if (W())
338- then u(ar, "claimReward: invalid dex")
330+@Callable(Z)
331+func claimReward (aq,K,M,ab) = {
332+ let ac = valueOrErrorMessage(parseBigInt(ab), "claimReward: amount not int")
333+ let aa = if (if (if (if (if (V())
334+ then t(aq, "claimReward: invalid dex")
339335 else false)
340- then u(L, "claimReward: invalid user")
336+ then t(K, "claimReward: invalid user")
341337 else false)
342- then u(N, "claimReward: invalid currency")
338+ then t(M, "claimReward: invalid currency")
343339 else false)
344- then r(ad, l, "claimReward: invalid amount")
340+ then q(ac, k, "claimReward: invalid amount")
345341 else false)
346- then Z(aa.caller, "claimReward: invalid matcher caller")
342+ then Y(Z.caller, "claimReward: invalid matcher caller")
347343 else false
348- if ((ab == ab))
344+ if ((aa == aa))
349345 then {
350- let av = K(ar, k, N)
351- let ai = K(L, i, N)
352- let aw = (av - ad)
353- let ak = (ai + ad)
354- let al = r(aw, l, "claimReward: insufficient amount")
355- if ((al == al))
356- then $Tuple2((O(ar, k, N, aw) ++ O(L, i, N, ak)), unit)
346+ let au = J(aq, j, M)
347+ let ah = J(K, i, M)
348+ let av = (au - ac)
349+ let aj = (ah + ac)
350+ let ak = q(av, k, "claimReward: insufficient amount")
351+ if ((ak == ak))
352+ then $Tuple2((N(aq, j, M, av) ++ N(K, i, M, aj)), unit)
357353 else throw("Strict value is not equal to itself.")
358354 }
359355 else throw("Strict value is not equal to itself.")
361357
362358
363359
364-@Callable(aa)
365-func getUserBalance (L,M,N) = $Tuple2(nil, toString(K(L, M, N)))
360+@Callable(Z)
361+func getUserBalance (K,L,M) = $Tuple2(nil, toString(J(K, L, M)))
366362
367363
368364
369-@Callable(aa)
370-func setMultisig (D) = {
371- let ab = if (S(aa.caller))
372- then m(D, "setMultisig: invalid multisig")
365+@Callable(Z)
366+func setMultisig (C) = {
367+ let aa = if (R(Z.caller))
368+ then l(C, "setMultisig: invalid multisig")
373369 else false
374- if ((ab == ab))
375- then $Tuple2(C(addressFromStringValue(D)), unit)
370+ if ((aa == aa))
371+ then $Tuple2(B(addressFromStringValue(C)), unit)
376372 else throw("Strict value is not equal to itself.")
377373 }
378374
379375
380-@Verifier(ax)
381-func ay () = {
382- let p = ax
383- let az = getString(b)
384- if ($isInstanceOf(az, "String"))
376+@Verifier(aw)
377+func ax () = {
378+ let o = aw
379+ let ay = getString(b)
380+ if ($isInstanceOf(ay, "String"))
385381 then {
386- let aA = az
387- valueOrElse(getBoolean(addressFromStringValue(aA), makeString([c, toString(this), toBase58String(ax.id)], a)), false)
382+ let az = ay
383+ valueOrElse(getBoolean(addressFromStringValue(az), makeString([c, toString(this), toBase58String(aw.id)], a)), false)
388384 }
389- else sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
385+ else sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
390386 }
391387
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "MULTISIG"
77
88 let c = "STATUS"
99
1010 let d = "INIT"
1111
1212 let e = "GATEWAY_CONTRACT"
1313
1414 let f = "MATCHER_CONTRACT"
1515
1616 let g = "USER_BALANCE"
1717
1818 let h = "TOTAL_BALANCE"
1919
2020 let i = "SPOT"
2121
22-let j = "WITHDRAWALS"
22+let j = "STAKING_REWARD"
2323
24-let k = "STAKING_REWARD"
24+let k = toBigInt(0)
2525
26-let l = toBigInt(0)
27-
28-func m (n,o) = {
29- let p = addressFromString(n)
30- if ($isInstanceOf(p, "Address"))
26+func l (m,n) = {
27+ let o = addressFromString(m)
28+ if ($isInstanceOf(o, "Address"))
3129 then {
32- let q = p
30+ let p = o
3331 true
3432 }
35- else throw(o)
33+ else throw(n)
3634 }
3735
3836
39-func r (s,t,o) = if ((t > s))
40- then throw(o)
37+func q (r,s,n) = if ((s > r))
38+ then throw(n)
4139 else true
4240
4341
44-func u (s,o) = if (if ((0 >= size(s)))
42+func t (r,n) = if (if ((0 >= size(r)))
4543 then true
46- else contains(s, a))
47- then throw(o)
44+ else contains(r, a))
45+ then throw(n)
4846 else true
4947
5048
51-func v (w,x,o) = if ((w != x))
52- then throw(o)
49+func u (v,w,n) = if ((v != w))
50+ then throw(n)
5351 else true
5452
5553
56-func y () = {
57- let p = getBoolean(d)
58- if ($isInstanceOf(p, "Boolean"))
54+func x () = {
55+ let o = getBoolean(d)
56+ if ($isInstanceOf(o, "Boolean"))
5957 then {
60- let q = p
61- q
58+ let p = o
59+ p
6260 }
6361 else false
6462 }
6563
6664
67-func z (A) = [BooleanEntry(d, A)]
65+func y (z) = [BooleanEntry(d, z)]
6866
6967
70-func B () = {
71- let p = getString(b)
72- if ($isInstanceOf(p, "String"))
68+func A () = {
69+ let o = getString(b)
70+ if ($isInstanceOf(o, "String"))
7371 then {
74- let q = p
75- addressFromStringValue(q)
72+ let p = o
73+ addressFromStringValue(p)
7674 }
7775 else Address(base58'')
7876 }
7977
8078
81-func C (D) = [StringEntry(b, toString(D))]
79+func B (C) = [StringEntry(b, toString(C))]
8280
8381
84-func E () = {
85- let p = getString(e)
86- if ($isInstanceOf(p, "String"))
82+func D () = {
83+ let o = getString(e)
84+ if ($isInstanceOf(o, "String"))
8785 then {
88- let q = p
89- addressFromStringValue(q)
86+ let p = o
87+ addressFromStringValue(p)
9088 }
9189 else Address(base58'')
9290 }
9391
9492
95-func F (G) = [StringEntry(e, toString(G))]
93+func E (F) = [StringEntry(e, toString(F))]
9694
9795
98-func H () = {
99- let p = getString(f)
100- if ($isInstanceOf(p, "String"))
96+func G () = {
97+ let o = getString(f)
98+ if ($isInstanceOf(o, "String"))
10199 then {
102- let q = p
103- addressFromStringValue(q)
100+ let p = o
101+ addressFromStringValue(p)
104102 }
105103 else Address(base58'')
106104 }
107105
108106
109-func I (J) = [StringEntry(f, toString(J))]
107+func H (I) = [StringEntry(f, toString(I))]
110108
111109
112-func K (L,M,N) = {
113- let p = getString(makeString([g, L, M, N], a))
114- if ($isInstanceOf(p, "String"))
110+func J (K,L,M) = {
111+ let o = getString(makeString([g, K, L, M], a))
112+ if ($isInstanceOf(o, "String"))
115113 then {
116- let q = p
117- parseBigIntValue(q)
114+ let p = o
115+ parseBigIntValue(p)
118116 }
119- else l
117+ else k
120118 }
121119
122120
123-func O (L,M,N,P) = [StringEntry(makeString([g, L, M, N], a), toString(P))]
121+func N (K,L,M,O) = [StringEntry(makeString([g, K, L, M], a), toString(O))]
124122
125123
126-func Q (N) = {
127- let p = getString(makeString([h, N], a))
128- if ($isInstanceOf(p, "String"))
124+func P (M) = {
125+ let o = getString(makeString([h, M], a))
126+ if ($isInstanceOf(o, "String"))
129127 then {
130- let q = p
131- parseBigIntValue(q)
128+ let p = o
129+ parseBigIntValue(p)
132130 }
133- else l
131+ else k
134132 }
135133
136134
137-func R (N,P) = [StringEntry(makeString([h, N], a), toString(P))]
135+func Q (M,O) = [StringEntry(makeString([h, M], a), toString(O))]
138136
139137
140-func S (T) = if ((T != this))
138+func R (S) = if ((S != this))
141139 then throw("_onlyThisContract: revert")
142140 else true
143141
144142
145-func U () = if ((B() == Address(base58'')))
143+func T () = if ((A() == Address(base58'')))
146144 then throw("_whenMultisigSet: revert")
147145 else true
148146
149147
150-func V () = if (y())
148+func U () = if (x())
151149 then throw("_whenNotInitialized: revert")
152150 else true
153151
154152
155-func W () = if (!(y()))
153+func V () = if (!(x()))
156154 then throw("_whenInitialized: revert")
157155 else true
158156
159157
160-func X (Y,o) = if ((E() != Y))
161- then throw(o)
158+func W (X,n) = if ((D() != X))
159+ then throw(n)
162160 else true
163161
164162
165-func Z (Y,o) = if ((H() != Y))
166- then throw(o)
163+func Y (X,n) = if ((G() != X))
164+ then throw(n)
167165 else true
168166
169167
170-@Callable(aa)
171-func init (G,J) = {
172- let ab = if (if (if (if (S(aa.caller))
173- then V()
174- else false)
168+@Callable(Z)
169+func init (F,I) = {
170+ let aa = if (if (if (if (R(Z.caller))
175171 then U()
176172 else false)
177- then m(G, "init: invalid gatewayContract")
173+ then T()
178174 else false)
179- then m(J, "init: invalid matcherContract")
175+ then l(F, "init: invalid gatewayContract")
176+ else false)
177+ then l(I, "init: invalid matcherContract")
180178 else false
181- if ((ab == ab))
182- then $Tuple2(((z(true) ++ F(addressFromStringValue(G))) ++ I(addressFromStringValue(J))), unit)
179+ if ((aa == aa))
180+ then $Tuple2(((y(true) ++ E(addressFromStringValue(F))) ++ H(addressFromStringValue(I))), unit)
183181 else throw("Strict value is not equal to itself.")
184182 }
185183
186184
187185
188-@Callable(aa)
189-func deposit (L,N,ac) = {
190- let ad = valueOrErrorMessage(parseBigInt(ac), "deposit: amount not int")
191- let ab = if (if (if (if (W())
192- then u(L, "deposit: invalid user")
186+@Callable(Z)
187+func deposit (K,M,ab) = {
188+ let ac = valueOrErrorMessage(parseBigInt(ab), "deposit: amount not int")
189+ let aa = if (if (if (if (V())
190+ then t(K, "deposit: invalid user")
193191 else false)
194- then u(N, "deposit: invalid currency")
192+ then t(M, "deposit: invalid currency")
195193 else false)
196- then r(ad, l, "deposit: invalid amount")
194+ then q(ac, k, "deposit: invalid amount")
197195 else false)
198- then X(aa.caller, "deposit: invalid caller")
196+ then W(Z.caller, "deposit: invalid caller")
199197 else false
200- if ((ab == ab))
198+ if ((aa == aa))
201199 then {
202- let ae = K(L, i, N)
203- $Tuple2((O(L, i, N, (ae + ad)) ++ R(N, (Q(N) + ad))), unit)
200+ let ad = J(K, i, M)
201+ $Tuple2((N(K, i, M, (ad + ac)) ++ Q(M, (P(M) + ac))), unit)
204202 }
205203 else throw("Strict value is not equal to itself.")
206204 }
207205
208206
209207
210-@Callable(aa)
211-func internalTransfer (L,af,ag,N,ac) = {
212- let ad = valueOrErrorMessage(parseBigInt(ac), "internalTransfer: amount not int")
213- let ab = if (if (if (if (if (if (W())
214- then u(L, "internalTransfer: invalid user")
208+@Callable(Z)
209+func internalTransfer (K,ae,af,M,ab) = {
210+ let ac = valueOrErrorMessage(parseBigInt(ab), "internalTransfer: amount not int")
211+ let aa = if (if (if (if (if (if (V())
212+ then t(K, "internalTransfer: invalid user")
215213 else false)
216- then u(af, "internalTransfer: invalid sourceWallet")
214+ then t(ae, "internalTransfer: invalid sourceWallet")
217215 else false)
218- then u(ag, "internalTransfer: invalid targetWallet")
216+ then t(af, "internalTransfer: invalid targetWallet")
219217 else false)
220- then u(N, "internalTransfer: invalid currency")
218+ then t(M, "internalTransfer: invalid currency")
221219 else false)
222- then r(ad, l, "internalTransfer: invalid amount")
220+ then q(ac, k, "internalTransfer: invalid amount")
223221 else false)
224- then if ((ag == j))
225- then X(aa.caller, "internalTransfer: invalid gw caller")
226- else Z(aa.caller, "internalTransfer: invalid matcher caller")
222+ then Y(Z.caller, "internalTransfer: invalid matcher caller")
227223 else false
228- if ((ab == ab))
224+ if ((aa == aa))
229225 then {
230- let ah = K(L, af, N)
231- let ai = K(L, ag, N)
232- let aj = (ah - ad)
233- let ak = (ai + ad)
234- let al = r(aj, l, "internalTransfer: insufficient amount")
235- if ((al == al))
236- then $Tuple2((O(L, af, N, aj) ++ O(L, ag, N, ak)), unit)
226+ let ag = J(K, ae, M)
227+ let ah = J(K, af, M)
228+ let ai = (ag - ac)
229+ let aj = (ah + ac)
230+ let ak = q(ai, k, "internalTransfer: insufficient amount")
231+ if ((ak == ak))
232+ then $Tuple2((N(K, ae, M, ai) ++ N(K, af, M, aj)), unit)
237233 else throw("Strict value is not equal to itself.")
238234 }
239235 else throw("Strict value is not equal to itself.")
240236 }
241237
242238
243239
244-@Callable(aa)
245-func withdraw (L,N,ac) = {
246- let ad = valueOrErrorMessage(parseBigInt(ac), "withdraw: amount not int")
247- let ab = if (if (if (if (W())
248- then u(L, "withdraw: invalid user")
240+@Callable(Z)
241+func withdraw (K,M,ab) = {
242+ let ac = valueOrErrorMessage(parseBigInt(ab), "withdraw: amount not int")
243+ let aa = if (if (if (if (V())
244+ then t(K, "withdraw: invalid user")
249245 else false)
250- then u(N, "withdraw: invalid currency")
246+ then t(M, "withdraw: invalid currency")
251247 else false)
252- then r(ad, l, "withdraw: invalid amount")
248+ then q(ac, k, "withdraw: invalid amount")
253249 else false)
254- then X(aa.caller, "withdraw: invalid caller")
250+ then W(Z.caller, "withdraw: invalid caller")
255251 else false
256- if ((ab == ab))
252+ if ((aa == aa))
257253 then {
258- let ae = K(L, j, N)
259- let am = (ae - ad)
260- let an = (Q(N) - ad)
261- let al = if (r(am, l, "withdraw: insufficient amount"))
262- then r(an, l, "withdraw: negative total balance")
254+ let ad = J(K, i, M)
255+ let al = (ad - ac)
256+ let am = (P(M) - ac)
257+ let ak = if (q(al, k, "withdraw: insufficient amount"))
258+ then q(am, k, "withdraw: negative total balance")
263259 else false
264- if ((al == al))
265- then $Tuple2((O(L, j, N, am) ++ R(N, an)), unit)
260+ if ((ak == ak))
261+ then $Tuple2((N(K, i, M, al) ++ Q(M, am)), unit)
266262 else throw("Strict value is not equal to itself.")
267263 }
268264 else throw("Strict value is not equal to itself.")
269265 }
270266
271267
272268
273-@Callable(aa)
274-func externalTransfer (M,N,ao,ap,ac,aq,ar) = {
275- let ad = valueOrErrorMessage(parseBigInt(ac), "externalTransfer: amount not int")
276- let as = valueOrErrorMessage(parseBigInt(aq), "externalTransfer: fee not int")
277- let ab = if (if (if (if (if (if (if (if (W())
278- then u(M, "externalTransfer: invalid wallet")
269+@Callable(Z)
270+func externalTransfer (L,M,an,ao,ab,ap,aq) = {
271+ let ac = valueOrErrorMessage(parseBigInt(ab), "externalTransfer: amount not int")
272+ let ar = valueOrErrorMessage(parseBigInt(ap), "externalTransfer: fee not int")
273+ let aa = if (if (if (if (if (if (if (if (V())
274+ then t(L, "externalTransfer: invalid wallet")
279275 else false)
280- then u(N, "externalTransfer: invalid currency")
276+ then t(M, "externalTransfer: invalid currency")
281277 else false)
282- then u(ao, "externalTransfer: invalid from")
278+ then t(an, "externalTransfer: invalid from")
283279 else false)
284- then u(ap, "externalTransfer: invalid to")
280+ then t(ao, "externalTransfer: invalid to")
285281 else false)
286- then r(ad, l, "externalTransfer: invalid amount")
282+ then q(ac, k, "externalTransfer: invalid amount")
287283 else false)
288- then r(as, l, "externalTransfer: invalid fee")
284+ then q(ar, k, "externalTransfer: invalid fee")
289285 else false)
290- then u(ar, "externalTransfer: invalid dex")
286+ then t(aq, "externalTransfer: invalid dex")
291287 else false)
292- then Z(aa.caller, "externalTransfer: invalid matcher caller")
288+ then Y(Z.caller, "externalTransfer: invalid matcher caller")
293289 else false
294- if ((ab == ab))
290+ if ((aa == aa))
295291 then {
296- let ah = K(ao, M, N)
297- let ai = K(ap, M, N)
298- let at = K(ar, M, N)
299- let aj = ((ah - ad) - as)
300- let ak = (ai + ad)
301- let au = (at + as)
302- let al = r(aj, l, "externalTransfer: insufficient amount")
303- if ((al == al))
304- then $Tuple2(((O(ao, M, N, aj) ++ O(ap, M, N, ak)) ++ O(ar, M, N, au)), unit)
292+ let ag = J(an, L, M)
293+ let ah = J(ao, L, M)
294+ let as = J(aq, L, M)
295+ let ai = ((ag - ac) - ar)
296+ let aj = (ah + ac)
297+ let at = (as + ar)
298+ let ak = q(ai, k, "externalTransfer: insufficient amount")
299+ if ((ak == ak))
300+ then $Tuple2(((N(an, L, M, ai) ++ N(ao, L, M, aj)) ++ N(aq, L, M, at)), unit)
305301 else throw("Strict value is not equal to itself.")
306302 }
307303 else throw("Strict value is not equal to itself.")
308304 }
309305
310306
311307
312-@Callable(aa)
313-func depositStakingReward (ar,N,ac) = {
314- let ad = valueOrErrorMessage(parseBigInt(ac), "depositStakingReward: amount not int")
315- let ab = if (if (if (if (W())
316- then u(ar, "depositStakingReward: invalid dex")
308+@Callable(Z)
309+func depositStakingReward (aq,M,ab) = {
310+ let ac = valueOrErrorMessage(parseBigInt(ab), "depositStakingReward: amount not int")
311+ let aa = if (if (if (if (V())
312+ then t(aq, "depositStakingReward: invalid dex")
317313 else false)
318- then u(N, "depositStakingReward: invalid currency")
314+ then t(M, "depositStakingReward: invalid currency")
319315 else false)
320- then r(ad, l, "depositStakingReward: invalid amount")
316+ then q(ac, k, "depositStakingReward: invalid amount")
321317 else false)
322- then X(aa.caller, "depositStakingReward: invalid caller")
318+ then W(Z.caller, "depositStakingReward: invalid caller")
323319 else false
324- if ((ab == ab))
320+ if ((aa == aa))
325321 then {
326- let ae = K(ar, k, N)
327- $Tuple2((O(ar, k, N, (ae + ad)) ++ R(N, (Q(N) + ad))), unit)
322+ let ad = J(aq, j, M)
323+ $Tuple2((N(aq, j, M, (ad + ac)) ++ Q(M, (P(M) + ac))), unit)
328324 }
329325 else throw("Strict value is not equal to itself.")
330326 }
331327
332328
333329
334-@Callable(aa)
335-func claimReward (ar,L,N,ac) = {
336- let ad = valueOrErrorMessage(parseBigInt(ac), "claimReward: amount not int")
337- let ab = if (if (if (if (if (W())
338- then u(ar, "claimReward: invalid dex")
330+@Callable(Z)
331+func claimReward (aq,K,M,ab) = {
332+ let ac = valueOrErrorMessage(parseBigInt(ab), "claimReward: amount not int")
333+ let aa = if (if (if (if (if (V())
334+ then t(aq, "claimReward: invalid dex")
339335 else false)
340- then u(L, "claimReward: invalid user")
336+ then t(K, "claimReward: invalid user")
341337 else false)
342- then u(N, "claimReward: invalid currency")
338+ then t(M, "claimReward: invalid currency")
343339 else false)
344- then r(ad, l, "claimReward: invalid amount")
340+ then q(ac, k, "claimReward: invalid amount")
345341 else false)
346- then Z(aa.caller, "claimReward: invalid matcher caller")
342+ then Y(Z.caller, "claimReward: invalid matcher caller")
347343 else false
348- if ((ab == ab))
344+ if ((aa == aa))
349345 then {
350- let av = K(ar, k, N)
351- let ai = K(L, i, N)
352- let aw = (av - ad)
353- let ak = (ai + ad)
354- let al = r(aw, l, "claimReward: insufficient amount")
355- if ((al == al))
356- then $Tuple2((O(ar, k, N, aw) ++ O(L, i, N, ak)), unit)
346+ let au = J(aq, j, M)
347+ let ah = J(K, i, M)
348+ let av = (au - ac)
349+ let aj = (ah + ac)
350+ let ak = q(av, k, "claimReward: insufficient amount")
351+ if ((ak == ak))
352+ then $Tuple2((N(aq, j, M, av) ++ N(K, i, M, aj)), unit)
357353 else throw("Strict value is not equal to itself.")
358354 }
359355 else throw("Strict value is not equal to itself.")
360356 }
361357
362358
363359
364-@Callable(aa)
365-func getUserBalance (L,M,N) = $Tuple2(nil, toString(K(L, M, N)))
360+@Callable(Z)
361+func getUserBalance (K,L,M) = $Tuple2(nil, toString(J(K, L, M)))
366362
367363
368364
369-@Callable(aa)
370-func setMultisig (D) = {
371- let ab = if (S(aa.caller))
372- then m(D, "setMultisig: invalid multisig")
365+@Callable(Z)
366+func setMultisig (C) = {
367+ let aa = if (R(Z.caller))
368+ then l(C, "setMultisig: invalid multisig")
373369 else false
374- if ((ab == ab))
375- then $Tuple2(C(addressFromStringValue(D)), unit)
370+ if ((aa == aa))
371+ then $Tuple2(B(addressFromStringValue(C)), unit)
376372 else throw("Strict value is not equal to itself.")
377373 }
378374
379375
380-@Verifier(ax)
381-func ay () = {
382- let p = ax
383- let az = getString(b)
384- if ($isInstanceOf(az, "String"))
376+@Verifier(aw)
377+func ax () = {
378+ let o = aw
379+ let ay = getString(b)
380+ if ($isInstanceOf(ay, "String"))
385381 then {
386- let aA = az
387- valueOrElse(getBoolean(addressFromStringValue(aA), makeString([c, toString(this), toBase58String(ax.id)], a)), false)
382+ let az = ay
383+ valueOrElse(getBoolean(addressFromStringValue(az), makeString([c, toString(this), toBase58String(aw.id)], a)), false)
388384 }
389- else sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
385+ else sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
390386 }
391387

github/deemru/w8io/026f985 
104.66 ms