tx · 2rgekmRj7Au8tziYKm5hr74fGp8emVaqpHr8Gmpckpzu

3Mr7Qu4DoK2AG3aFJkavD1QfLeYZ9JQkf2z:  -0.02100000 Waves

2024.01.19 17:35 [2938575] smart account 3Mr7Qu4DoK2AG3aFJkavD1QfLeYZ9JQkf2z > SELF 0.00000000 Waves

{ "type": 13, "id": "2rgekmRj7Au8tziYKm5hr74fGp8emVaqpHr8Gmpckpzu", "fee": 2100000, "feeAssetId": null, "timestamp": 1705674928974, "version": 2, "chainId": 84, "sender": "3Mr7Qu4DoK2AG3aFJkavD1QfLeYZ9JQkf2z", "senderPublicKey": "EAKRfs8swGWZJwXuunVL2epKZGzqzd5kZPfksHXQvESb", "proofs": [ "2QsxqN3bxJbpD1PZsSNggTVA9hray3xSQGjgH7QVde4BNb9PTmveDUEaCvtfQv3aHom7ZoY6guDH1pzEQnjxfFAi" ], "script": "base64:BgJiCAISBgoECAgICBIJCgcICAgICAgIEgUKAwEIARIGCgQBCAgBEgQKAgEIEgMKAQgSBAoCAQQSAwoBCBIFCgMBCAESCwoJAQgIAQEBAQEEEgQKAggIEgASABIDCgEIEgMKAQhKAAlTRVBBUkFUT1ICAl9fAAhLRVlfSU5JVAIESU5JVAAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAApLRVlfUEFVU0VEAgZQQVVTRUQACktFWV9QQVVTRVICBlBBVVNFUgAMS0VZX0VYRUNVVE9SAghFWEVDVVRPUgAQS0VZX1JPT1RfQURBUFRFUgIMUk9PVF9BREFQVEVSABNLRVlfQ0FMTEVSX0NPTlRSQUNUAg9DQUxMRVJfQ09OVFJBQ1QACUtFWV9DSEFJTgIFQ0hBSU4AC0tFWV9CSU5ESU5HAgdCSU5ESU5HAAdLRVlfRkVFAgNGRUUAEUtFWV9GRUVfUkVDSVBJRU5UAg1GRUVfUkVDSVBJRU5UABhLRVlfUkVGRVJSRVJfRkVFX1BFUkNFTlQCFFJFRkVSUkVSX0ZFRV9QRVJDRU5UAB1LRVlfQ1JPU1NDSEFJTl9QT09MX0NPTlRSQUNUUwIZQ1JPU1NDSEFJTl9QT09MX0NPTlRSQUNUUwAZS0VZX0JSSURHRV9BU1NFVF9DT05UUkFDVAIVQlJJREdFX0FTU0VUX0NPTlRSQUNUAAlGVU5DX01JTlQCBG1pbnQADEZVTkNfREVQT1NJVAIHZGVwb3NpdAATRlVOQ19SRUxFQVNFX1RPS0VOUwINcmVsZWFzZVRva2VucwARRlVOQ19HRVRfQVNTRVRfSUQCCmdldEFzc2V0SWQAEUZVTkNfR0VUX0RFQ0lNQUxTAgtnZXREZWNpbWFscwAFV0FWRVMCBVdBVkVTAA5XQVZFU19ERUNJTUFMUwAIAAhERUNJTUFMUwAGAA5QRVJDRU5UX0ZBQ1RPUgDAhD0AEE1BWF9SRUZFUlJFUl9GRUUAwJoMAAdNQVhfSU5UAP//////////fwEQX3ZhbGlkYXRlQWRkcmVzcwIIYWRkcmVzc18EZXJyXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgkAAgEFBGVycl8BDl92YWxpZGF0ZUFzc2V0Aghhc3NldElkXwRlcnJfBAckbWF0Y2gwCQDsBwEJANkEAQUIYXNzZXRJZF8DCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEMX3ZhbGlkYXRlSW50BAR2YWxfDmxvd2VyQm91bmRhcnlfDnVwcGVyQm91bmRhcnlfBGVycl8DAwkAZgIFDmxvd2VyQm91bmRhcnlfBQR2YWxfBgkAZgIFBHZhbF8FDnVwcGVyQm91bmRhcnlfCQACAQUEZXJyXwYBDV92YWxpZGF0ZUJvb2wDBHZhbF8HdGFyZ2V0XwRlcnJfAwkBAiE9AgUEdmFsXwUHdGFyZ2V0XwkAAgEFBGVycl8GARVfdmFsaWRhdGVQYXltZW50c1NpemUDCXBheW1lbnRzXwd0YXJnZXRfBGVycl8DCQECIT0CCQCQAwEFCXBheW1lbnRzXwUHdGFyZ2V0XwkAAgEFBGVycl8GARFfdmFsaWRhdGVSZWZlcnJlcgIJcmVmZXJyZXJfBGVycl8DCQECIT0CBQlyZWZlcnJlcl8CAAkBEF92YWxpZGF0ZUFkZHJlc3MCBQlyZWZlcnJlcl8FBGVycl8GARJfbm9ybWFsaXplRGVjaW1hbHMDB2Ftb3VudF8Pc291cmNlRGVjaW1hbHNfD3RhcmdldERlY2ltYWxzXwMJAGcCBQ9zb3VyY2VEZWNpbWFsc18FD3RhcmdldERlY2ltYWxzXwkAaQIFB2Ftb3VudF8JAGwGAAoAAAkAZQIFD3NvdXJjZURlY2ltYWxzXwUPdGFyZ2V0RGVjaW1hbHNfAAAAAAUERE9XTgkAaAIFB2Ftb3VudF8JAGwGAAoAAAkAZQIFD3RhcmdldERlY2ltYWxzXwUPc291cmNlRGVjaW1hbHNfAAAAAAUERE9XTgEJX2xvYWRJbml0AAQHJG1hdGNoMAkAoAgBBQhLRVlfSU5JVAMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFhBQckbWF0Y2gwBQFhBwEJX3NhdmVJbml0AQdpc0luaXRfCQDMCAIJAQxCb29sZWFuRW50cnkCBQhLRVlfSU5JVAUHaXNJbml0XwUDbmlsAQpfbG9hZFBhdXNlAAQHJG1hdGNoMAkAoAgBBQpLRVlfUEFVU0VEAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQpfc2F2ZVBhdXNlAQlpc1BhdXNlZF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCktFWV9QQVVTRUQFCWlzUGF1c2VkXwUDbmlsAQtfbG9hZFBhdXNlcgAEByRtYXRjaDAJAKIIAQUKS0VZX1BBVVNFUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQtfc2F2ZVBhdXNlcgEHcGF1c2VyXwkAzAgCCQELU3RyaW5nRW50cnkCBQpLRVlfUEFVU0VSCQClCAEFB3BhdXNlcl8FA25pbAENX2xvYWRNdWx0aXNpZwAEByRtYXRjaDAJAKIIAQUMS0VZX01VTFRJU0lHAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABDV9zYXZlTXVsdGlzaWcBCW11bHRpc2lnXwkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfTVVMVElTSUcJAKUIAQUJbXVsdGlzaWdfBQNuaWwBDV9sb2FkRXhlY3V0b3IABAckbWF0Y2gwCQCiCAEFDEtFWV9FWEVDVVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ1fc2F2ZUV4ZWN1dG9yAQlleGVjdXRvcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX0VYRUNVVE9SCQClCAEFCWV4ZWN1dG9yXwUDbmlsARNfbG9hZENhbGxlckNvbnRyYWN0AAQHJG1hdGNoMAkAoggBBRNLRVlfQ0FMTEVSX0NPTlRSQUNUAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAARNfc2F2ZUNhbGxlckNvbnRyYWN0AQdjYWxsZXJfCQDMCAIJAQtTdHJpbmdFbnRyeQIFE0tFWV9DQUxMRVJfQ09OVFJBQ1QFB2NhbGxlcl8FA25pbAEKX2xvYWRDaGFpbgEIY2hhaW5JZF8EByRtYXRjaDAJAKAIAQkAuQkCCQDMCAIFCUtFWV9DSEFJTgkAzAgCCQCkAwEFCGNoYWluSWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFhBQckbWF0Y2gwBQFhBwEKX3NhdmVDaGFpbgIIY2hhaW5JZF8EdmFsXwkAzAgCCQEMQm9vbGVhbkVudHJ5AgkAuQkCCQDMCAIFCUtFWV9DSEFJTgkAzAgCCQCkAwEFCGNoYWluSWRfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsAQxfbG9hZEJpbmRpbmcCEWV4ZWN1dGlvbkNoYWluSWRfCGFzc2V0SWRfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBQtLRVlfQklORElORwkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJANgEAQUIYXNzZXRJZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAQGc3RydWN0CQC1CQIFAWEFCVNFUEFSQVRPUgkAmgoICQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFBnN0cnVjdAAACQCRAwIFBnN0cnVjdAABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAAECQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAUJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QABgMJAAACCQCRAwIFBnN0cnVjdAAHAgExBgcJAJoKCAkBB0FkZHJlc3MBAQACAAAAAAAAAAAAAAAHAQxfc2F2ZUJpbmRpbmcDEWV4ZWN1dGlvbkNoYWluSWRfCGFzc2V0SWRfCGJpbmRpbmdfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBQtLRVlfQklORElORwkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJANgEAQUIYXNzZXRJZF8FA25pbAUJU0VQQVJBVE9SCQC5CQIJAMwIAgkApQgBCAUIYmluZGluZ18CXzEJAMwIAggFCGJpbmRpbmdfAl8yCQDMCAIJAKQDAQgFCGJpbmRpbmdfAl8zCQDMCAIJAKQDAQgFCGJpbmRpbmdfAl80CQDMCAIJAKQDAQgFCGJpbmRpbmdfAl81CQDMCAIJAKQDAQgFCGJpbmRpbmdfAl82CQDMCAIJAKQDAQgFCGJpbmRpbmdfAl83CQDMCAIDCAUIYmluZGluZ18CXzgCATECATAFA25pbAUJU0VQQVJBVE9SBQNuaWwBCF9sb2FkRmVlAQhhc3NldElkXwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUHS0VZX0ZFRQkAzAgCCQDYBAEFCGFzc2V0SWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEIX3NhdmVGZWUCCGFzc2V0SWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBQdLRVlfRkVFCQDMCAIJANgEAQUIYXNzZXRJZF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBEF9sb2FkUm9vdEFkYXB0ZXIABAckbWF0Y2gwCQCiCAEFEEtFWV9ST09UX0FEQVBURVIDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEQX3NhdmVSb290QWRhcHRlcgEIYWRhcHRlcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUQS0VZX1JPT1RfQURBUFRFUgkApQgBBQhhZGFwdGVyXwUDbmlsARFfbG9hZEZlZVJlY2lwaWVudAAEByRtYXRjaDAJAKIIAQURS0VZX0ZFRV9SRUNJUElFTlQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAERX3NhdmVGZWVSZWNpcGllbnQBBHZhbF8JAMwIAgkBC1N0cmluZ0VudHJ5AgURS0VZX0ZFRV9SRUNJUElFTlQJAKUIAQUEdmFsXwUDbmlsARdfbG9hZFJlZmVycmVyRmVlUGVyY2VudAIRZXhlY3V0aW9uQ2hhaW5JZF8JcmVmZXJyZXJfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRhLRVlfUkVGRVJSRVJfRkVFX1BFUkNFTlQJAMwIAgkApAMBBRFleGVjdXRpb25DaGFpbklkXwkAzAgCCQClCAEFCXJlZmVycmVyXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABF19zYXZlUmVmZXJyZXJGZWVQZXJjZW50AxFleGVjdXRpb25DaGFpbklkXwlyZWZlcnJlcl8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFGEtFWV9SRUZFUlJFUl9GRUVfUEVSQ0VOVAkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKUIAQUJcmVmZXJyZXJfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsARxfbG9hZENyb3NzY2hhaW5Qb29sQ29udHJhY3RzAAQHJG1hdGNoMAkAoggBBR1LRVlfQ1JPU1NDSEFJTl9QT09MX0NPTlRSQUNUUwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDADCQBmAgkAsQIBBQFhAAAJAL0JAgUBYQUJU0VQQVJBVE9SBQNuaWwFA25pbAEcX3NhdmVDcm9zc2NoYWluUG9vbENvbnRyYWN0cwEKY29udHJhY3RzXwkAzAgCCQELU3RyaW5nRW50cnkCBR1LRVlfQ1JPU1NDSEFJTl9QT09MX0NPTlRSQUNUUwkAuwkCBQpjb250cmFjdHNfBQlTRVBBUkFUT1IFA25pbAEYX2xvYWRCcmlkZ2VBc3NldENvbnRyYWN0ARdjcm9zc2NoYWluUG9vbENvbnRyYWN0XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUZS0VZX0JSSURHRV9BU1NFVF9DT05UUkFDVAkAzAgCCQClCAEFF2Nyb3NzY2hhaW5Qb29sQ29udHJhY3RfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARhfc2F2ZUJyaWRnZUFzc2V0Q29udHJhY3QCF2Nyb3NzY2hhaW5Qb29sQ29udHJhY3RfFGJyaWRnZUFzc2V0Q29udHJhY3RfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBRlLRVlfQlJJREdFX0FTU0VUX0NPTlRSQUNUCQDMCAIJAKUIAQUXY3Jvc3NjaGFpblBvb2xDb250cmFjdF8FA25pbAUJU0VQQVJBVE9SCQClCAEFFGJyaWRnZUFzc2V0Q29udHJhY3RfBQNuaWwBEV9vbmx5VGhpc0NvbnRyYWN0AQdjYWxsZXJfAwkBAiE9AgUHY2FsbGVyXwUEdGhpcwkAAgECGV9vbmx5VGhpc0NvbnRyYWN0OiByZXZlcnQGARBfd2hlbk11bHRpc2lnU2V0AAMJAAACCQENX2xvYWRNdWx0aXNpZwAJAQdBZGRyZXNzAQEACQACAQIYX3doZW5NdWx0aXNpZ1NldDogcmV2ZXJ0BgETX3doZW5Ob3RJbml0aWFsaXplZAADCQEJX2xvYWRJbml0AAkAAgECG193aGVuTm90SW5pdGlhbGl6ZWQ6IHJldmVydAYBEF93aGVuSW5pdGlhbGl6ZWQAAwkBASEBCQEJX2xvYWRJbml0AAkAAgECGF93aGVuSW5pdGlhbGl6ZWQ6IHJldmVydAYBDl93aGVuTm90UGF1c2VkAAMJAQpfbG9hZFBhdXNlAAkAAgECFl93aGVuTm90UGF1c2VkOiByZXZlcnQGAQtfd2hlblBhdXNlZAADCQEBIQEJAQpfbG9hZFBhdXNlAAkAAgECE193aGVuUGF1c2VkOiByZXZlcnQGAQtfb25seVBhdXNlcgEHY2FsbGVyXwMJAQIhPQIFB2NhbGxlcl8JAQtfbG9hZFBhdXNlcgAJAAIBAhNfb25seVBhdXNlcjogcmV2ZXJ0BgEGX2FzSW50AQR2YWxfBAckbWF0Y2gwBQR2YWxfAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECDl9hc0ludDogcmV2ZXJ0AQhfYXNCeXRlcwEEdmFsXwQHJG1hdGNoMAUEdmFsXwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFhBQckbWF0Y2gwBQFhCQACAQIQX2FzQnl0ZXM6IHJldmVydAERX3ZhbGlkYXRlRXhlY3V0b3ICBHZhbF8EZXJyXwMJAQIhPQIFBHZhbF8JAQ1fbG9hZEV4ZWN1dG9yAAkAAgEFBGVycl8GAQ9fdmFsaWRhdGVDYWxsZXICBHZhbF8EZXJyXwMJAQIhPQIFBHZhbF8JARNfbG9hZENhbGxlckNvbnRyYWN0AAkAAgEFBGVycl8GAQ5fdmFsaWRhdGVDaGFpbgIRZXhlY3V0aW9uQ2hhaW5JZF8EZXJyXwMJAQEhAQkBCl9sb2FkQ2hhaW4BBRFleGVjdXRpb25DaGFpbklkXwkAAgEFBGVycl8GDwFpAQRpbml0BAlleGVjdXRvcl8IYWRhcHRlcl8HcGF1c2VyXw1mZWVSZWNpcGllbnRfBANlcnIDAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBE193aGVuTm90SW5pdGlhbGl6ZWQABwkBEF93aGVuTXVsdGlzaWdTZXQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQlleGVjdXRvcl8CFmluaXQ6IGludmFsaWQgZXhlY3V0b3IHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCGFkYXB0ZXJfAhVpbml0OiBpbnZhbGlkIGFkYXB0ZXIHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB3BhdXNlcl8CFGluaXQ6IGludmFsaWQgcGF1c2VyBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ1mZWVSZWNpcGllbnRfAhppbml0OiBpbnZhbGlkIGZlZVJlY2lwaWVudAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzggCCQDOCAIJAM4IAgkAzggCCQEJX3NhdmVJbml0AQYJAQ1fc2F2ZUV4ZWN1dG9yAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJZXhlY3V0b3JfCQEQX3NhdmVSb290QWRhcHRlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCGFkYXB0ZXJfCQELX3NhdmVQYXVzZXIBCQERQGV4dHJOYXRpdmUoMTA2MikBBQdwYXVzZXJfCQERX3NhdmVGZWVSZWNpcGllbnQBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1mZWVSZWNpcGllbnRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCm1pbnRUb2tlbnMHD2NhbGxlckNvbnRyYWN0Xw5hc3NldENvbnRyYWN0XwdhbW91bnRfCnJlY2lwaWVudF8OZ2FzbGVzc1Jld2FyZF8JcmVmZXJyZXJfDHJlZmVycmVyRmVlXwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQUHYW1vdW50XwIXbWludDogYW1vdW50IGlzIG5vdCBJbnQEDWdhc2xlc3NSZXdhcmQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBBQ5nYXNsZXNzUmV3YXJkXwIebWludDogZ2FzbGVzc1Jld2FyZCBpcyBub3QgSW50BAtyZWZlcnJlckZlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFDHJlZmVycmVyRmVlXwIcbWludDogcmVmZXJyZXJGZWUgaXMgbm90IEludAQDZXJyAwMDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJARBfdmFsaWRhdGVBZGRyZXNzAgUOYXNzZXRDb250cmFjdF8CHG1pbnQ6IGludmFsaWQgYXNzZXQgY29udHJhY3QHCQERX3ZhbGlkYXRlRXhlY3V0b3ICCAUBaQZjYWxsZXICFm1pbnQ6IGludmFsaWQgZXhlY3V0b3IHCQEPX3ZhbGlkYXRlQ2FsbGVyAgUPY2FsbGVyQ29udHJhY3RfAhRtaW50OiBpbnZhbGlkIGNhbGxlcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUKcmVjaXBpZW50XwIfbWludDogaW52YWxpZCByZWNpcGllbnQgYWRkcmVzcwcJAQxfdmFsaWRhdGVJbnQEBQZhbW91bnQAAAUHTUFYX0lOVAIUbWludDogaW52YWxpZCBhbW91bnQHCQEMX3ZhbGlkYXRlSW50BAUNZ2FzbGVzc1Jld2FyZAAABQdNQVhfSU5UAhttaW50OiBpbnZhbGlkIGdhc2xlc3NSZXdhcmQHCQEMX3ZhbGlkYXRlSW50BAULcmVmZXJyZXJGZWUAAAUHTUFYX0lOVAIabWludDogaW52YWxpZCByZWZlcnJlciBmZWUHAwkAAAIFA2VycgUDZXJyBA0kdDAxMTc5NzEyMDg2AwkBD2NvbnRhaW5zRWxlbWVudAIJARxfbG9hZENyb3NzY2hhaW5Qb29sQ29udHJhY3RzAAUOYXNzZXRDb250cmFjdF8JAJQKAgYJARhfbG9hZEJyaWRnZUFzc2V0Q29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwkAlAoCBwkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8EFWlzQ3Jvc3NjaGFpblBvb2xBc3NldAgFDSR0MDExNzk3MTIwODYCXzEEE2JyaWRnZUFzc2V0Q29udHJhY3QIBQ0kdDAxMTc5NzEyMDg2Al8yBAdhc3NldElkCQEIX2FzQnl0ZXMBCQD8BwQFE2JyaWRnZUFzc2V0Q29udHJhY3QFEUZVTkNfR0VUX0FTU0VUX0lEBQNuaWwFA25pbAMJAAACBQdhc3NldElkBQdhc3NldElkBAhkZWNpbWFscwkBBl9hc0ludAEJAPwHBAUTYnJpZGdlQXNzZXRDb250cmFjdAURRlVOQ19HRVRfREVDSU1BTFMFA25pbAUDbmlsAwkAAAIFCGRlY2ltYWxzBQhkZWNpbWFscwQQbm9ybWFsaXplZEFtb3VudAkBEl9ub3JtYWxpemVEZWNpbWFscwMFBmFtb3VudAUIREVDSU1BTFMFCGRlY2ltYWxzBBFub3JtYWxpemVkR2FzbGVzcwkBEl9ub3JtYWxpemVEZWNpbWFscwMFDWdhc2xlc3NSZXdhcmQFCERFQ0lNQUxTBQhkZWNpbWFscwQNJHQwMTI0MjMxMjg2MAQHJG1hdGNoMAkApggBBQlyZWZlcnJlcl8DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQOcmVmZXJlckFkZHJlc3MFByRtYXRjaDAEFW5vcm1hbGl6ZWRSZWZlcnJlckZlZQkBEl9ub3JtYWxpemVEZWNpbWFscwMFC3JlZmVycmVyRmVlBQhERUNJTUFMUwUIZGVjaW1hbHMJAJQKAgUVbm9ybWFsaXplZFJlZmVycmVyRmVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDnJlZmVyZXJBZGRyZXNzBRVub3JtYWxpemVkUmVmZXJyZXJGZWUFB2Fzc2V0SWQFA25pbAkAlAoCAAAFA25pbAQVbm9ybWFsaXplZFJlZmVycmVyRmVlCAUNJHQwMTI0MjMxMjg2MAJfMQQPcmVmZXJyZXJBY3Rpb25zCAUNJHQwMTI0MjMxMjg2MAJfMgQObWludEludm9jYXRpb24JAPwHBAUTYnJpZGdlQXNzZXRDb250cmFjdAUJRlVOQ19NSU5UCQDMCAIJAGQCBRBub3JtYWxpemVkQW1vdW50BRVub3JtYWxpemVkUmVmZXJyZXJGZWUJAMwIAgkApQgBBQR0aGlzBQNuaWwFA25pbAMJAAACBQ5taW50SW52b2NhdGlvbgUObWludEludm9jYXRpb24EDSR0MDEyOTk5MTMzMzcDAwkAZgIFEW5vcm1hbGl6ZWRHYXNsZXNzAAAJAQIhPQIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnJlY2lwaWVudF8IBQFpDG9yaWdpbkNhbGxlcgcJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQxvcmlnaW5DYWxsZXIFEW5vcm1hbGl6ZWRHYXNsZXNzBQdhc3NldElkBQNuaWwFEW5vcm1hbGl6ZWRHYXNsZXNzCQCUCgIFA25pbAAABA5nYXNsZXNzQWN0aW9ucwgFDSR0MDEyOTk5MTMzMzcCXzEEFW5vcm1hbGl6ZWRHYXNsZXNzVXNlZAgFDSR0MDEyOTk5MTMzMzcCXzIEB2FjdGlvbnMDBRVpc0Nyb3NzY2hhaW5Qb29sQXNzZXQEC3Bvb2xBc3NldElkCQEIX2FzQnl0ZXMBCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmFzc2V0Q29udHJhY3RfBRFGVU5DX0dFVF9BU1NFVF9JRAUDbmlsBQNuaWwDCQAAAgULcG9vbEFzc2V0SWQFC3Bvb2xBc3NldElkBA1iYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFC3Bvb2xBc3NldElkAwkAAAIFDWJhbGFuY2VCZWZvcmUFDWJhbGFuY2VCZWZvcmUEEWRlcG9zaXRJbnZvY2F0aW9uCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmFzc2V0Q29udHJhY3RfBQxGVU5DX0RFUE9TSVQJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SWQJAGUCBRBub3JtYWxpemVkQW1vdW50BRVub3JtYWxpemVkR2FzbGVzc1VzZWQFA25pbAMJAAACBRFkZXBvc2l0SW52b2NhdGlvbgURZGVwb3NpdEludm9jYXRpb24EDGJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQtwb29sQXNzZXRJZAMJAAACBQxiYWxhbmNlQWZ0ZXIFDGJhbGFuY2VBZnRlcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQpyZWNpcGllbnRfCQBlAgUMYmFsYW5jZUFmdGVyBQ1iYWxhbmNlQmVmb3JlBQtwb29sQXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnJlY2lwaWVudF8JAGUCBRBub3JtYWxpemVkQW1vdW50BRVub3JtYWxpemVkR2FzbGVzc1VzZWQFB2Fzc2V0SWQFA25pbAkAlAoCCQDOCAIJAM4IAgUHYWN0aW9ucwUOZ2FzbGVzc0FjdGlvbnMFD3JlZmVycmVyQWN0aW9ucwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpidXJuVG9rZW5zAxFleGVjdXRpb25DaGFpbklkXwpyZWNpcGllbnRfDmdhc2xlc3NSZXdhcmRfBANlcnIDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEOX3doZW5Ob3RQYXVzZWQABwkBDl92YWxpZGF0ZUNoYWluAgURZXhlY3V0aW9uQ2hhaW5JZF8CI2J1cm5Ub2tlbnM6IGludmFsaWQgZXhlY3V0aW9uIGNoYWluBwkBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMIBQFpCHBheW1lbnRzAAECFmJ1cm5Ub2tlbnM6IG5vIHBheW1lbnQHCQEMX3ZhbGlkYXRlSW50BAUOZ2FzbGVzc1Jld2FyZF8AAAUHTUFYX0lOVAIhYnVyblRva2VuczogaW52YWxpZCBnYXNsZXNzUmV3YXJkBwkBDF92YWxpZGF0ZUludAQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAFB01BWF9JTlQCImJ1cm5Ub2tlbnM6IGludmFsaWQgcGF5bWVudCBhbW91bnQHAwkAAAIFA2VycgUDZXJyBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAdhc3NldElkBAckbWF0Y2gwCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYQUHJG1hdGNoMAUBYQkAAgECGWJ1cm5Ub2tlbnM6IGludmFsaWQgYXNzZXQEB2JpbmRpbmcJAQxfbG9hZEJpbmRpbmcCBRFleGVjdXRpb25DaGFpbklkXwUHYXNzZXRJZAQNYXNzZXRDb250cmFjdAgFB2JpbmRpbmcCXzEEDmV4ZWN1dGlvbkFzc2V0CAUHYmluZGluZwJfMgQJbWluQW1vdW50CAUHYmluZGluZwJfMwQGbWluRmVlCAUHYmluZGluZwJfNAQMdGhyZXNob2xkRmVlCAUHYmluZGluZwJfNQQQYmVmb3JlUGVyY2VudEZlZQgFB2JpbmRpbmcCXzYED2FmdGVyUGVyY2VudEZlZQgFB2JpbmRpbmcCXzcEB2VuYWJsZWQIBQdiaW5kaW5nAl84BARlcnIxAwMJARBfdmFsaWRhdGVBZGRyZXNzAgkApQgBBQ1hc3NldENvbnRyYWN0AhtidXJuVG9rZW5zOiBubyBzdWNoIGJpbmRpbmcJAQxfdmFsaWRhdGVJbnQEBQZhbW91bnQFCW1pbkFtb3VudAUHTUFYX0lOVAIZYnVyblRva2VuczogbGVzcyB0aGFuIG1pbgcJAQ1fdmFsaWRhdGVCb29sAwUHZW5hYmxlZAYCHWJ1cm5Ub2tlbnM6IHRva2VuIGlzIGRpc2FibGVkBwMJAAACBQRlcnIxBQRlcnIxBA1hc3NldERlY2ltYWxzCQEGX2FzSW50AQkA/AcEBQ1hc3NldENvbnRyYWN0BRFGVU5DX0dFVF9ERUNJTUFMUwUDbmlsBQNuaWwDCQAAAgUNYXNzZXREZWNpbWFscwUNYXNzZXREZWNpbWFscwQHcGVyY2VudAMJAGYCBQZhbW91bnQFDHRocmVzaG9sZEZlZQUPYWZ0ZXJQZXJjZW50RmVlBRBiZWZvcmVQZXJjZW50RmVlBANmZWUJAGQCBQZtaW5GZWUJAGsDBQZhbW91bnQFB3BlcmNlbnQFDlBFUkNFTlRfRkFDVE9SBARlcnIyCQEMX3ZhbGlkYXRlSW50BAUGYW1vdW50CQBkAgUDZmVlAAEFB01BWF9JTlQCIGJ1cm5Ub2tlbnM6IGZlZSBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjIFBGVycjIEDGFtb3VudFRvU2VuZAkAZQIFBmFtb3VudAUDZmVlBARlcnIzCQEMX3ZhbGlkYXRlSW50BAUMYW1vdW50VG9TZW5kCQBkAgUOZ2FzbGVzc1Jld2FyZF8AAQUHTUFYX0lOVAIjYnVyblRva2VuczogcmV3YXJkIG1vcmUgdGhhbiBhbW91bnQDCQAAAgUEZXJyMwUEZXJyMwQJdXBkYXRlRmVlCQBkAgkBCF9sb2FkRmVlAQUHYXNzZXRJZAUDZmVlBBBub3JtYWxpemVkQW1vdW50CQESX25vcm1hbGl6ZURlY2ltYWxzAwUMYW1vdW50VG9TZW5kBQ1hc3NldERlY2ltYWxzBQhERUNJTUFMUwQRbm9ybWFsaXplZEdhc2xlc3MJARJfbm9ybWFsaXplRGVjaW1hbHMDBQ5nYXNsZXNzUmV3YXJkXwUNYXNzZXREZWNpbWFscwUIREVDSU1BTFMECmludm9jYXRpb24JAPwHBAkBEF9sb2FkUm9vdEFkYXB0ZXIABRNGVU5DX1JFTEVBU0VfVE9LRU5TCQDMCAIFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIFDmV4ZWN1dGlvbkFzc2V0CQDMCAIFEG5vcm1hbGl6ZWRBbW91bnQJAMwIAgUKcmVjaXBpZW50XwkAzAgCBRFub3JtYWxpemVkR2FzbGVzcwUDbmlsBQNuaWwDCQAAAgUKaW52b2NhdGlvbgUKaW52b2NhdGlvbgkAlAoCCQDOCAIJAQhfc2F2ZUZlZQIFB2Fzc2V0SWQFCXVwZGF0ZUZlZQkAzAgCCQEEQnVybgIFB2Fzc2V0SWQFDGFtb3VudFRvU2VuZAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDGJ1cm5Ub2tlbnNWMgQRZXhlY3V0aW9uQ2hhaW5JZF8KcmVjaXBpZW50XwlyZWZlcnJlcl8OZ2FzbGVzc1Jld2FyZF8EA2VycgMDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEOX3doZW5Ob3RQYXVzZWQABwkBDl92YWxpZGF0ZUNoYWluAgURZXhlY3V0aW9uQ2hhaW5JZF8CJWJ1cm5Ub2tlbnNWMjogaW52YWxpZCBleGVjdXRpb24gY2hhaW4HCQEVX3ZhbGlkYXRlUGF5bWVudHNTaXplAwgFAWkIcGF5bWVudHMAAQIYYnVyblRva2Vuc1YyOiBubyBwYXltZW50BwkBDF92YWxpZGF0ZUludAQFDmdhc2xlc3NSZXdhcmRfAAAFB01BWF9JTlQCI2J1cm5Ub2tlbnNWMjogaW52YWxpZCBnYXNsZXNzUmV3YXJkBwkBDF92YWxpZGF0ZUludAQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAFB01BWF9JTlQCJGJ1cm5Ub2tlbnNWMjogaW52YWxpZCBwYXltZW50IGFtb3VudAcJARFfdmFsaWRhdGVSZWZlcnJlcgIFCXJlZmVycmVyXwIeYnVyblRva2Vuc1YyOiBpbnZhbGlkIHJlZmVycmVyBwMJAAACBQNlcnIFA2VycgQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQHYXNzZXRJZAQHJG1hdGNoMAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWEFByRtYXRjaDAFAWEJAAIBAhtidXJuVG9rZW5zVjI6IGludmFsaWQgYXNzZXQEB2JpbmRpbmcJAQxfbG9hZEJpbmRpbmcCBRFleGVjdXRpb25DaGFpbklkXwUHYXNzZXRJZAQNYXNzZXRDb250cmFjdAgFB2JpbmRpbmcCXzEEDmV4ZWN1dGlvbkFzc2V0CAUHYmluZGluZwJfMgQJbWluQW1vdW50CAUHYmluZGluZwJfMwQGbWluRmVlCAUHYmluZGluZwJfNAQMdGhyZXNob2xkRmVlCAUHYmluZGluZwJfNQQQYmVmb3JlUGVyY2VudEZlZQgFB2JpbmRpbmcCXzYED2FmdGVyUGVyY2VudEZlZQgFB2JpbmRpbmcCXzcEB2VuYWJsZWQIBQdiaW5kaW5nAl84BARlcnIxAwMJARBfdmFsaWRhdGVBZGRyZXNzAgkApQgBBQ1hc3NldENvbnRyYWN0Ah1idXJuVG9rZW5zVjI6IG5vIHN1Y2ggYmluZGluZwkBDF92YWxpZGF0ZUludAQFBmFtb3VudAUJbWluQW1vdW50BQdNQVhfSU5UAhtidXJuVG9rZW5zVjI6IGxlc3MgdGhhbiBtaW4HCQENX3ZhbGlkYXRlQm9vbAMFB2VuYWJsZWQGAh9idXJuVG9rZW5zVjI6IHRva2VuIGlzIGRpc2FibGVkBwMJAAACBQRlcnIxBQRlcnIxBA1hc3NldERlY2ltYWxzCQEGX2FzSW50AQkA/AcEBQ1hc3NldENvbnRyYWN0BRFGVU5DX0dFVF9ERUNJTUFMUwUDbmlsBQNuaWwDCQAAAgUNYXNzZXREZWNpbWFscwUNYXNzZXREZWNpbWFscwQHcGVyY2VudAMJAGYCBQZhbW91bnQFDHRocmVzaG9sZEZlZQUPYWZ0ZXJQZXJjZW50RmVlBRBiZWZvcmVQZXJjZW50RmVlBANmZWUJAGQCBQZtaW5GZWUJAGsDBQZhbW91bnQFB3BlcmNlbnQFDlBFUkNFTlRfRkFDVE9SBARlcnIyCQEMX3ZhbGlkYXRlSW50BAUGYW1vdW50CQBkAgUDZmVlAAEFB01BWF9JTlQCImJ1cm5Ub2tlbnNWMjogZmVlIG1vcmUgdGhhbiBhbW91bnQDCQAAAgUEZXJyMgUEZXJyMgQNJHQwMTgxNjcxODU3MgMJAQIhPQIFCXJlZmVycmVyXwIABAhyZWZlcnJlcgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJcmVmZXJyZXJfBBFyZWZlcnJlckZlZUFtb3VudAkAawMJARdfbG9hZFJlZmVycmVyRmVlUGVyY2VudAIFEWV4ZWN1dGlvbkNoYWluSWRfBQhyZWZlcnJlcgUDZmVlBQ5QRVJDRU5UX0ZBQ1RPUgkAlAoCBRFyZWZlcnJlckZlZUFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQhyZWZlcnJlcgURcmVmZXJyZXJGZWVBbW91bnQFB2Fzc2V0SWQFA25pbAkAlAoCAAAFA25pbAQLcmVmZXJyZXJGZWUIBQ0kdDAxODE2NzE4NTcyAl8xBA9yZWZlcnJlckFjdGlvbnMIBQ0kdDAxODE2NzE4NTcyAl8yBAxhbW91bnRUb1NlbmQJAGUCBQZhbW91bnQFA2ZlZQQEZXJyMwkBDF92YWxpZGF0ZUludAQFDGFtb3VudFRvU2VuZAkAZAIFDmdhc2xlc3NSZXdhcmRfAAEFB01BWF9JTlQCJWJ1cm5Ub2tlbnNWMjogcmV3YXJkIG1vcmUgdGhhbiBhbW91bnQDCQAAAgUEZXJyMwUEZXJyMwQJdXBkYXRlRmVlCQBlAgkAZAIJAQhfbG9hZEZlZQEFB2Fzc2V0SWQFA2ZlZQULcmVmZXJyZXJGZWUEEG5vcm1hbGl6ZWRBbW91bnQJARJfbm9ybWFsaXplRGVjaW1hbHMDBQxhbW91bnRUb1NlbmQFDWFzc2V0RGVjaW1hbHMFCERFQ0lNQUxTBBFub3JtYWxpemVkR2FzbGVzcwkBEl9ub3JtYWxpemVEZWNpbWFscwMFDmdhc2xlc3NSZXdhcmRfBQ1hc3NldERlY2ltYWxzBQhERUNJTUFMUwQKaW52b2NhdGlvbgkA/AcECQEQX2xvYWRSb290QWRhcHRlcgAFE0ZVTkNfUkVMRUFTRV9UT0tFTlMJAMwIAgURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgUOZXhlY3V0aW9uQXNzZXQJAMwIAgUQbm9ybWFsaXplZEFtb3VudAkAzAgCBQpyZWNpcGllbnRfCQDMCAIFEW5vcm1hbGl6ZWRHYXNsZXNzBQNuaWwFA25pbAMJAAACBQppbnZvY2F0aW9uBQppbnZvY2F0aW9uCQCUCgIJAM4IAgkAzggCCQEIX3NhdmVGZWUCBQdhc3NldElkBQl1cGRhdGVGZWUFD3JlZmVycmVyQWN0aW9ucwkAzAgCCQEEQnVybgIFB2Fzc2V0SWQFDGFtb3VudFRvU2VuZAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3RyYW5zZmVyRmVlAhFleGVjdXRpb25DaGFpbklkXwhhc3NldElkXwQDZXJyAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJAQ5fdmFsaWRhdGVBc3NldAIFCGFzc2V0SWRfAhp0cmFuc2ZlckZlZTogaW52YWxpZCBhc3NldAcDCQAAAgUDZXJyBQNlcnIEB2Fzc2V0SWQJANkEAQUIYXNzZXRJZF8EB2JpbmRpbmcJAQxfbG9hZEJpbmRpbmcCBRFleGVjdXRpb25DaGFpbklkXwUHYXNzZXRJZAQNYXNzZXRDb250cmFjdAgFB2JpbmRpbmcCXzEEB2VuYWJsZWQIBQdiaW5kaW5nAl84BARlcnIxAwkBEF92YWxpZGF0ZUFkZHJlc3MCCQClCAEFDWFzc2V0Q29udHJhY3QCHHRyYW5zZmVyRmVlOiBubyBzdWNoIGJpbmRpbmcJAQ1fdmFsaWRhdGVCb29sAwUHZW5hYmxlZAYCHnRyYW5zZmVyRmVlOiB0b2tlbiBpcyBkaXNhYmxlZAcDCQAAAgUEZXJyMQUEZXJyMQkAlAoCCQDOCAIJAQhfc2F2ZUZlZQIFB2Fzc2V0SWQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERX2xvYWRGZWVSZWNpcGllbnQACQEIX2xvYWRGZWUBBQdhc3NldElkBQdhc3NldElkBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEUdXBkYXRlQ2FsbGVyQ29udHJhY3QBD2NhbGxlckNvbnRyYWN0XwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJARNfc2F2ZUNhbGxlckNvbnRyYWN0AQUPY2FsbGVyQ29udHJhY3RfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFHVwZGF0ZUV4ZWN1dGlvbkNoYWluAhFleGVjdXRpb25DaGFpbklkXwhlbmFibGVkXwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBDF92YWxpZGF0ZUludAQFEWV4ZWN1dGlvbkNoYWluSWRfAAAFB01BWF9JTlQCLnVwZGF0ZUV4ZWN1dGlvbkNoYWluOiBpbnZhbGlkIGV4ZWN1dGlvbkNoYWluSWQHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZUNoYWluAgURZXhlY3V0aW9uQ2hhaW5JZF8FCGVuYWJsZWRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEnVwZGF0ZUZlZVJlY2lwaWVudAENZmVlUmVjaXBpZW50XwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ1mZWVSZWNpcGllbnRfAih1cGRhdGVGZWVSZWNpcGllbnQ6IGludmFsaWQgZmVlUmVjaXBpZW50BwMJAAACBQNlcnIFA2VycgkAlAoCCQERX3NhdmVGZWVSZWNpcGllbnQBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1mZWVSZWNpcGllbnRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDnVwZGF0ZVJlZmVycmVyAxFleGVjdXRpb25DaGFpbklkXwlyZWZlcnJlcl8EZmVlXwQDZXJyAwMDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEOX3ZhbGlkYXRlQ2hhaW4CBRFleGVjdXRpb25DaGFpbklkXwIndXBkYXRlUmVmZXJyZXI6IGludmFsaWQgZXhlY3V0aW9uIGNoYWluBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQlyZWZlcnJlcl8CIHVwZGF0ZVJlZmVycmVyOiBpbnZhbGlkIHJlZmVycmVyBwkBDF92YWxpZGF0ZUludAQFBGZlZV8AAAUQTUFYX1JFRkVSUkVSX0ZFRQIbdXBkYXRlUmVmZXJyZXI6IGludmFsaWQgZmVlBwMJAAACBQNlcnIFA2VycgkAlAoCCQEXX3NhdmVSZWZlcnJlckZlZVBlcmNlbnQDBRFleGVjdXRpb25DaGFpbklkXwkBEUBleHRyTmF0aXZlKDEwNjIpAQUJcmVmZXJyZXJfBQRmZWVfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEXVwZGF0ZUJpbmRpbmdJbmZvCRFleGVjdXRpb25DaGFpbklkXw5hc3NldENvbnRyYWN0Xw9leGVjdXRpb25Bc3NldF8KbWluQW1vdW50XwdtaW5GZWVfDXRocmVzaG9sZEZlZV8RYmVmb3JlUGVyY2VudEZlZV8QYWZ0ZXJQZXJjZW50RmVlXwhlbmFibGVkXwQDZXJyAwMDAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ5hc3NldENvbnRyYWN0XwIpdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgYXNzZXQgY29udHJhY3QHCQEMX3ZhbGlkYXRlSW50BAURZXhlY3V0aW9uQ2hhaW5JZF8AAAUHTUFYX0lOVAIrdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgZXhlY3V0aW9uQ2hhaW5JZAcJAQxfdmFsaWRhdGVJbnQEBQptaW5BbW91bnRfAAAFB01BWF9JTlQCJHVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIG1pbkFtb3VudAcJAQxfdmFsaWRhdGVJbnQEBQdtaW5GZWVfAAAFB01BWF9JTlQCIXVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIG1pbkZlZQcJAQxfdmFsaWRhdGVJbnQEBQ10aHJlc2hvbGRGZWVfAAAFB01BWF9JTlQCJ3VwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIHRocmVzaG9sZEZlZQcJAQxfdmFsaWRhdGVJbnQEBRFiZWZvcmVQZXJjZW50RmVlXwAABQdNQVhfSU5UAit1cGRhdGVCaW5kaW5nSW5mbzogaW52YWxpZCBiZWZvcmVQZXJjZW50RmVlBwkBDF92YWxpZGF0ZUludAQFEGFmdGVyUGVyY2VudEZlZV8AAAUHTUFYX0lOVAIqdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgYWZ0ZXJQZXJjZW50RmVlBwMJAAACBQNlcnIFA2VycgQHYXNzZXRJZAkBCF9hc0J5dGVzAQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwURRlVOQ19HRVRfQVNTRVRfSUQFA25pbAUDbmlsAwkAAAIFB2Fzc2V0SWQFB2Fzc2V0SWQEB2JpbmRpbmcJAJoKCAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8FD2V4ZWN1dGlvbkFzc2V0XwUKbWluQW1vdW50XwUHbWluRmVlXwUNdGhyZXNob2xkRmVlXwURYmVmb3JlUGVyY2VudEZlZV8FEGFmdGVyUGVyY2VudEZlZV8FCGVuYWJsZWRfCQCUCgIJAQxfc2F2ZUJpbmRpbmcDBRFleGVjdXRpb25DaGFpbklkXwUHYXNzZXRJZAUHYmluZGluZwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARlhZGRDcm9zc2NoYWluUG9vbENvbnRyYWN0Ahdjcm9zc2NoYWluUG9vbENvbnRyYWN0XxRicmlkZ2VBc3NldENvbnRyYWN0XwQDZXJyAwMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJARBfdmFsaWRhdGVBZGRyZXNzAgUXY3Jvc3NjaGFpblBvb2xDb250cmFjdF8COWFkZENyb3NzY2hhaW5Qb29sQ29udHJhY3Q6IGludmFsaWQgY3Jvc3NjaGFpblBvb2xDb250cmFjdAcJARBfdmFsaWRhdGVBZGRyZXNzAgUUYnJpZGdlQXNzZXRDb250cmFjdF8CNmFkZENyb3NzY2hhaW5Qb29sQ29udHJhY3Q6IGludmFsaWQgYnJpZGdlQXNzZXRDb250cmFjdAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzggCCQEcX3NhdmVDcm9zc2NoYWluUG9vbENvbnRyYWN0cwEJAM0IAgkBHF9sb2FkQ3Jvc3NjaGFpblBvb2xDb250cmFjdHMABRdjcm9zc2NoYWluUG9vbENvbnRyYWN0XwkBGF9zYXZlQnJpZGdlQXNzZXRDb250cmFjdAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFF2Nyb3NzY2hhaW5Qb29sQ29udHJhY3RfCQERQGV4dHJOYXRpdmUoMTA2MikBBRRicmlkZ2VBc3NldENvbnRyYWN0XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVwYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ5fd2hlbk5vdFBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHdW5wYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQtfd2hlblBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQcFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMdXBkYXRlUGF1c2VyAQdwYXVzZXJfBANlcnIDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB3BhdXNlcl8CHHVwZGF0ZVBhdXNlcjogaW52YWxpZCBwYXVzZXIHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQtfc2F2ZVBhdXNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB3BhdXNlcl8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIdc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQ1fc2F2ZU11bHRpc2lnAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJbXVsdGlzaWdfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAhtdWx0aXNpZwUHJG1hdGNoMAkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmn7lSx", "height": 2938575, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HabcFfDoT4S38HU5ePE6Z8UT7bXgACUcxfjXtnx2pGUC Next: B6bz263gLG4W4jeEn5n1nYo5fPZFkbaA31KXT78UCimD Diff:
OldNewDifferences
2929
3030 let n = "REFERRER_FEE_PERCENT"
3131
32-let o = "releaseTokens"
32+let o = "CROSSCHAIN_POOL_CONTRACTS"
3333
34-let p = "WAVES"
34+let p = "BRIDGE_ASSET_CONTRACT"
3535
36-let q = 8
36+let q = "mint"
3737
38-let r = 6
38+let r = "deposit"
3939
40-let s = 1000000
40+let s = "releaseTokens"
4141
42-let t = 200000
42+let t = "getAssetId"
4343
44-let u = 9223372036854775807
44+let u = "getDecimals"
4545
46-func v (w,x) = {
47- let y = addressFromString(w)
48- if ($isInstanceOf(y, "Address"))
46+let v = "WAVES"
47+
48+let w = 8
49+
50+let x = 6
51+
52+let y = 1000000
53+
54+let z = 200000
55+
56+let A = 9223372036854775807
57+
58+func B (C,D) = {
59+ let E = addressFromString(C)
60+ if ($isInstanceOf(E, "Address"))
4961 then {
50- let z = y
62+ let F = E
5163 true
5264 }
53- else throw(x)
65+ else throw(D)
5466 }
5567
5668
57-func A (B,x) = {
58- let y = assetInfo(fromBase58String(B))
59- if ($isInstanceOf(y, "Asset"))
69+func G (H,D) = {
70+ let E = assetInfo(fromBase58String(H))
71+ if ($isInstanceOf(E, "Asset"))
6072 then {
61- let z = y
73+ let F = E
6274 true
6375 }
64- else throw(x)
76+ else throw(D)
6577 }
6678
6779
68-func C (D,E,F,x) = if (if ((E > D))
80+func I (J,K,L,D) = if (if ((K > J))
6981 then true
70- else (D > F))
71- then throw(x)
82+ else (J > L))
83+ then throw(D)
7284 else true
7385
7486
75-func G (D,H,x) = if ((D != H))
76- then throw(x)
87+func M (J,N,D) = if ((J != N))
88+ then throw(D)
7789 else true
7890
7991
80-func I (J,H,x) = if ((size(J) != H))
81- then throw(x)
92+func O (P,N,D) = if ((size(P) != N))
93+ then throw(D)
8294 else true
8395
8496
85-func K (L,x) = if ((L != ""))
86- then v(L, x)
97+func Q (R,D) = if ((R != ""))
98+ then B(R, D)
8799 else true
88100
89101
90-func M (N,O,P) = if ((O >= P))
91- then (N / pow(10, 0, (O - P), 0, 0, DOWN))
92- else (N * pow(10, 0, (P - O), 0, 0, DOWN))
102+func S (T,U,V) = if ((U >= V))
103+ then (T / pow(10, 0, (U - V), 0, 0, DOWN))
104+ else (T * pow(10, 0, (V - U), 0, 0, DOWN))
93105
94106
95-func Q () = {
96- let y = getBoolean(b)
97- if ($isInstanceOf(y, "Boolean"))
107+func W () = {
108+ let E = getBoolean(b)
109+ if ($isInstanceOf(E, "Boolean"))
98110 then {
99- let z = y
100- z
111+ let F = E
112+ F
101113 }
102114 else false
103115 }
104116
105117
106-func R (S) = [BooleanEntry(b, S)]
118+func X (Y) = [BooleanEntry(b, Y)]
107119
108120
109-func T () = {
110- let y = getBoolean(e)
111- if ($isInstanceOf(y, "Boolean"))
121+func Z () = {
122+ let E = getBoolean(e)
123+ if ($isInstanceOf(E, "Boolean"))
112124 then {
113- let z = y
114- z
125+ let F = E
126+ F
115127 }
116128 else false
117129 }
118130
119131
120-func U (V) = [BooleanEntry(e, V)]
132+func aa (ab) = [BooleanEntry(e, ab)]
121133
122134
123-func W () = {
124- let y = getString(f)
125- if ($isInstanceOf(y, "String"))
135+func ac () = {
136+ let E = getString(f)
137+ if ($isInstanceOf(E, "String"))
126138 then {
127- let z = y
128- addressFromStringValue(z)
139+ let F = E
140+ addressFromStringValue(F)
129141 }
130142 else Address(base58'')
131143 }
132144
133145
134-func X (Y) = [StringEntry(f, toString(Y))]
146+func ad (ae) = [StringEntry(f, toString(ae))]
135147
136148
137-func Z () = {
138- let y = getString(c)
139- if ($isInstanceOf(y, "String"))
149+func af () = {
150+ let E = getString(c)
151+ if ($isInstanceOf(E, "String"))
140152 then {
141- let z = y
142- addressFromStringValue(z)
153+ let F = E
154+ addressFromStringValue(F)
143155 }
144156 else Address(base58'')
145157 }
146158
147159
148-func aa (ab) = [StringEntry(c, toString(ab))]
160+func ag (ah) = [StringEntry(c, toString(ah))]
149161
150162
151-func ac () = {
152- let y = getString(g)
153- if ($isInstanceOf(y, "String"))
163+func ai () = {
164+ let E = getString(g)
165+ if ($isInstanceOf(E, "String"))
154166 then {
155- let z = y
156- addressFromStringValue(z)
167+ let F = E
168+ addressFromStringValue(F)
157169 }
158170 else Address(base58'')
159171 }
160172
161173
162-func ad (ae) = [StringEntry(g, toString(ae))]
174+func aj (ak) = [StringEntry(g, toString(ak))]
163175
164176
165-func af () = {
166- let y = getString(i)
167- if ($isInstanceOf(y, "String"))
177+func al () = {
178+ let E = getString(i)
179+ if ($isInstanceOf(E, "String"))
168180 then {
169- let z = y
170- z
181+ let F = E
182+ F
171183 }
172184 else ""
173185 }
174186
175187
176-func ag (ah) = [StringEntry(i, ah)]
188+func am (an) = [StringEntry(i, an)]
177189
178190
179-func ai (aj) = {
180- let y = getBoolean(makeString([j, toString(aj)], a))
181- if ($isInstanceOf(y, "Boolean"))
191+func ao (ap) = {
192+ let E = getBoolean(makeString([j, toString(ap)], a))
193+ if ($isInstanceOf(E, "Boolean"))
182194 then {
183- let z = y
184- z
195+ let F = E
196+ F
185197 }
186198 else false
187199 }
188200
189201
190-func ak (aj,D) = [BooleanEntry(makeString([j, toString(aj)], a), D)]
202+func aq (ap,J) = [BooleanEntry(makeString([j, toString(ap)], a), J)]
191203
192204
193-func al (am,B) = {
194- let y = getString(makeString([k, toString(am), toBase58String(B)], a))
195- if ($isInstanceOf(y, "String"))
205+func ar (as,H) = {
206+ let E = getString(makeString([k, toString(as), toBase58String(H)], a))
207+ if ($isInstanceOf(E, "String"))
196208 then {
197- let z = y
198- let an = split(z, a)
199- $Tuple8(addressFromStringValue(an[0]), an[1], parseIntValue(an[2]), parseIntValue(an[3]), parseIntValue(an[4]), parseIntValue(an[5]), parseIntValue(an[6]), if ((an[7] == "1"))
209+ let F = E
210+ let at = split(F, a)
211+ $Tuple8(addressFromStringValue(at[0]), at[1], parseIntValue(at[2]), parseIntValue(at[3]), parseIntValue(at[4]), parseIntValue(at[5]), parseIntValue(at[6]), if ((at[7] == "1"))
200212 then true
201213 else false)
202214 }
204216 }
205217
206218
207-func ao (am,B,ap) = [StringEntry(makeString([k, toString(am), toBase58String(B)], a), makeString([toString(ap._1), ap._2, toString(ap._3), toString(ap._4), toString(ap._5), toString(ap._6), toString(ap._7), if (ap._8)
219+func au (as,H,av) = [StringEntry(makeString([k, toString(as), toBase58String(H)], a), makeString([toString(av._1), av._2, toString(av._3), toString(av._4), toString(av._5), toString(av._6), toString(av._7), if (av._8)
208220 then "1"
209221 else "0"], a))]
210222
211223
212-func aq (B) = {
213- let y = getInteger(makeString([l, toBase58String(B)], a))
214- if ($isInstanceOf(y, "Int"))
224+func aw (H) = {
225+ let E = getInteger(makeString([l, toBase58String(H)], a))
226+ if ($isInstanceOf(E, "Int"))
215227 then {
216- let z = y
217- z
228+ let F = E
229+ F
218230 }
219231 else 0
220232 }
221233
222234
223-func ar (B,D) = [IntegerEntry(makeString([l, toBase58String(B)], a), D)]
235+func ax (H,J) = [IntegerEntry(makeString([l, toBase58String(H)], a), J)]
224236
225237
226-func as () = {
227- let y = getString(h)
228- if ($isInstanceOf(y, "String"))
238+func ay () = {
239+ let E = getString(h)
240+ if ($isInstanceOf(E, "String"))
229241 then {
230- let z = y
231- addressFromStringValue(z)
242+ let F = E
243+ addressFromStringValue(F)
232244 }
233245 else Address(base58'')
234246 }
235247
236248
237-func at (au) = [StringEntry(h, toString(au))]
249+func az (aA) = [StringEntry(h, toString(aA))]
238250
239251
240-func av () = {
241- let y = getString(m)
242- if ($isInstanceOf(y, "String"))
252+func aB () = {
253+ let E = getString(m)
254+ if ($isInstanceOf(E, "String"))
243255 then {
244- let z = y
245- addressFromStringValue(z)
256+ let F = E
257+ addressFromStringValue(F)
246258 }
247259 else Address(base58'')
248260 }
249261
250262
251-func aw (D) = [StringEntry(m, toString(D))]
263+func aC (J) = [StringEntry(m, toString(J))]
252264
253265
254-func ax (am,L) = {
255- let y = getInteger(makeString([n, toString(am), toString(L)], a))
256- if ($isInstanceOf(y, "Int"))
266+func aD (as,R) = {
267+ let E = getInteger(makeString([n, toString(as), toString(R)], a))
268+ if ($isInstanceOf(E, "Int"))
257269 then {
258- let z = y
259- z
270+ let F = E
271+ F
260272 }
261273 else 0
262274 }
263275
264276
265-func ay (am,L,D) = [IntegerEntry(makeString([n, toString(am), toString(L)], a), D)]
277+func aE (as,R,J) = [IntegerEntry(makeString([n, toString(as), toString(R)], a), J)]
266278
267279
268-func az (ah) = if ((ah != this))
280+func aF () = {
281+ let E = getString(o)
282+ if ($isInstanceOf(E, "String"))
283+ then {
284+ let F = E
285+ if ((size(F) > 0))
286+ then split_51C(F, a)
287+ else nil
288+ }
289+ else nil
290+ }
291+
292+
293+func aG (aH) = [StringEntry(o, makeString_11C(aH, a))]
294+
295+
296+func aI (aJ) = {
297+ let E = getString(makeString([p, toString(aJ)], a))
298+ if ($isInstanceOf(E, "String"))
299+ then {
300+ let F = E
301+ addressFromStringValue(F)
302+ }
303+ else Address(base58'')
304+ }
305+
306+
307+func aK (aJ,aL) = [StringEntry(makeString([p, toString(aJ)], a), toString(aL))]
308+
309+
310+func aM (an) = if ((an != this))
269311 then throw("_onlyThisContract: revert")
270312 else true
271313
272314
273-func aA () = if ((Z() == Address(base58'')))
315+func aN () = if ((af() == Address(base58'')))
274316 then throw("_whenMultisigSet: revert")
275317 else true
276318
277319
278-func aB () = if (Q())
320+func aO () = if (W())
279321 then throw("_whenNotInitialized: revert")
280322 else true
281323
282324
283-func aC () = if (!(Q()))
325+func aP () = if (!(W()))
284326 then throw("_whenInitialized: revert")
285327 else true
286328
287329
288-func aD () = if (T())
330+func aQ () = if (Z())
289331 then throw("_whenNotPaused: revert")
290332 else true
291333
292334
293-func aE () = if (!(T()))
335+func aR () = if (!(Z()))
294336 then throw("_whenPaused: revert")
295337 else true
296338
297339
298-func aF (ah) = if ((ah != W()))
340+func aS (an) = if ((an != ac()))
299341 then throw("_onlyPauser: revert")
300342 else true
301343
302344
303-func aG (D) = {
304- let y = D
305- if ($isInstanceOf(y, "Int"))
345+func aT (J) = {
346+ let E = J
347+ if ($isInstanceOf(E, "Int"))
306348 then {
307- let z = y
308- z
349+ let F = E
350+ F
309351 }
310352 else throw("_asInt: revert")
311353 }
312354
313355
314-func aH (D) = {
315- let y = D
316- if ($isInstanceOf(y, "ByteVector"))
356+func aU (J) = {
357+ let E = J
358+ if ($isInstanceOf(E, "ByteVector"))
317359 then {
318- let z = y
319- z
360+ let F = E
361+ F
320362 }
321363 else throw("_asBytes: revert")
322364 }
323365
324366
325-func aI (D,x) = if ((D != ac()))
326- then throw(x)
367+func aV (J,D) = if ((J != ai()))
368+ then throw(D)
327369 else true
328370
329371
330-func aJ (D,x) = if ((D != af()))
331- then throw(x)
372+func aW (J,D) = if ((J != al()))
373+ then throw(D)
332374 else true
333375
334376
335-func aK (am,x) = if (!(ai(am)))
336- then throw(x)
377+func aX (as,D) = if (!(ao(as)))
378+ then throw(D)
337379 else true
338380
339381
340-@Callable(aL)
341-func init (ae,au,Y,aM) = {
342- let aN = if (if (if (if (if (if (az(aL.caller))
343- then aB()
382+@Callable(aY)
383+func init (ak,aA,ae,aZ) = {
384+ let ba = if (if (if (if (if (if (aM(aY.caller))
385+ then aO()
344386 else false)
345- then aA()
387+ then aN()
346388 else false)
347- then v(ae, "init: invalid executor")
389+ then B(ak, "init: invalid executor")
348390 else false)
349- then v(au, "init: invalid adapter")
391+ then B(aA, "init: invalid adapter")
350392 else false)
351- then v(Y, "init: invalid pauser")
393+ then B(ae, "init: invalid pauser")
352394 else false)
353- then v(aM, "init: invalid feeRecipient")
395+ then B(aZ, "init: invalid feeRecipient")
354396 else false
355- if ((aN == aN))
356- then $Tuple2(((((R(true) ++ ad(addressFromStringValue(ae))) ++ at(addressFromStringValue(au))) ++ X(addressFromStringValue(Y))) ++ aw(addressFromStringValue(aM))), unit)
397+ if ((ba == ba))
398+ then $Tuple2(((((X(true) ++ aj(addressFromStringValue(ak))) ++ az(addressFromStringValue(aA))) ++ ad(addressFromStringValue(ae))) ++ aC(addressFromStringValue(aZ))), unit)
357399 else throw("Strict value is not equal to itself.")
358400 }
359401
360402
361403
362-@Callable(aL)
363-func mintTokens (aO,aP,N,aQ,aR,L,aS) = {
364- let aT = valueOrErrorMessage(parseInt(N), "mint: amount is not Int")
365- let aU = valueOrErrorMessage(parseInt(aR), "mint: gaslessReward is not Int")
366- let aV = valueOrErrorMessage(parseInt(aS), "mint: referrerFee is not Int")
367- let aN = if (if (if (if (if (if (if (if (aC())
368- then aD()
404+@Callable(aY)
405+func mintTokens (bb,bc,T,bd,be,R,bf) = {
406+ let bg = valueOrErrorMessage(parseInt(T), "mint: amount is not Int")
407+ let bh = valueOrErrorMessage(parseInt(be), "mint: gaslessReward is not Int")
408+ let bi = valueOrErrorMessage(parseInt(bf), "mint: referrerFee is not Int")
409+ let ba = if (if (if (if (if (if (if (if (aP())
410+ then aQ()
369411 else false)
370- then v(aP, "mint: invalid asset contract")
412+ then B(bc, "mint: invalid asset contract")
371413 else false)
372- then aI(aL.caller, "mint: invalid executor")
414+ then aV(aY.caller, "mint: invalid executor")
373415 else false)
374- then aJ(aO, "mint: invalid caller")
416+ then aW(bb, "mint: invalid caller")
375417 else false)
376- then v(aQ, "mint: invalid recipient address")
418+ then B(bd, "mint: invalid recipient address")
377419 else false)
378- then C(aT, 0, u, "mint: invalid amount")
420+ then I(bg, 0, A, "mint: invalid amount")
379421 else false)
380- then C(aU, 0, u, "mint: invalid gaslessReward")
422+ then I(bh, 0, A, "mint: invalid gaslessReward")
381423 else false)
382- then C(aV, 0, u, "mint: invalid referrer fee")
424+ then I(bi, 0, A, "mint: invalid referrer fee")
383425 else false
384- if ((aN == aN))
426+ if ((ba == ba))
385427 then {
386- let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
387- if ((aW == aW))
428+ let bj = if (containsElement(aF(), bc))
429+ then $Tuple2(true, aI(addressFromStringValue(bc)))
430+ else $Tuple2(false, addressFromStringValue(bc))
431+ let bk = bj._1
432+ let bl = bj._2
433+ let bm = aU(invoke(bl, t, nil, nil))
434+ if ((bm == bm))
388435 then {
389- let aX = aG(invoke(addressFromStringValue(aP), "getDecimals", nil, nil))
390- if ((aX == aX))
436+ let bn = aT(invoke(bl, u, nil, nil))
437+ if ((bn == bn))
391438 then {
392- let aY = M(aT, r, aX)
393- let aZ = M(aU, r, aX)
394- let ba = {
395- let y = addressFromString(L)
396- if ($isInstanceOf(y, "Address"))
439+ let bo = S(bg, x, bn)
440+ let bp = S(bh, x, bn)
441+ let bq = {
442+ let E = addressFromString(R)
443+ if ($isInstanceOf(E, "Address"))
397444 then {
398- let bb = y
399- let bc = M(aV, r, aX)
400- $Tuple2(bc, [ScriptTransfer(bb, bc, aW)])
445+ let br = E
446+ let bs = S(bi, x, bn)
447+ $Tuple2(bs, [ScriptTransfer(br, bs, bm)])
401448 }
402449 else $Tuple2(0, nil)
403450 }
404- let bc = ba._1
405- let bd = ba._2
406- let be = invoke(addressFromStringValue(aP), "mint", [(aY + bc), toString(this)], nil)
407- if ((be == be))
451+ let bs = bq._1
452+ let bt = bq._2
453+ let bu = invoke(bl, q, [(bo + bs), toString(this)], nil)
454+ if ((bu == bu))
408455 then {
409- let bf = if (if ((aZ > 0))
410- then (addressFromStringValue(aQ) != aL.originCaller)
456+ let bv = if (if ((bp > 0))
457+ then (addressFromStringValue(bd) != aY.originCaller)
411458 else false)
412- then [ScriptTransfer(addressFromStringValue(aQ), (aY - aZ), aW), ScriptTransfer(aL.originCaller, aZ, aW)]
413- else [ScriptTransfer(addressFromStringValue(aQ), aY, aW)]
414- $Tuple2((bf ++ bd), unit)
459+ then $Tuple2([ScriptTransfer(aY.originCaller, bp, bm)], bp)
460+ else $Tuple2(nil, 0)
461+ let bw = bv._1
462+ let bx = bv._2
463+ let by = if (bk)
464+ then {
465+ let bz = aU(invoke(addressFromStringValue(bc), t, nil, nil))
466+ if ((bz == bz))
467+ then {
468+ let bA = assetBalance(this, bz)
469+ if ((bA == bA))
470+ then {
471+ let bB = invoke(addressFromStringValue(bc), r, [0], [AttachedPayment(bm, (bo - bx))])
472+ if ((bB == bB))
473+ then {
474+ let bC = assetBalance(this, bz)
475+ if ((bC == bC))
476+ then [ScriptTransfer(addressFromStringValue(bd), (bC - bA), bz)]
477+ else throw("Strict value is not equal to itself.")
478+ }
479+ else throw("Strict value is not equal to itself.")
480+ }
481+ else throw("Strict value is not equal to itself.")
482+ }
483+ else throw("Strict value is not equal to itself.")
484+ }
485+ else [ScriptTransfer(addressFromStringValue(bd), (bo - bx), bm)]
486+ $Tuple2(((by ++ bw) ++ bt), unit)
415487 }
416488 else throw("Strict value is not equal to itself.")
417489 }
424496
425497
426498
427-@Callable(aL)
428-func burnTokens (am,aQ,aR) = {
429- let aN = if (if (if (if (if (aC())
430- then aD()
499+@Callable(aY)
500+func burnTokens (as,bd,be) = {
501+ let ba = if (if (if (if (if (aP())
502+ then aQ()
431503 else false)
432- then aK(am, "burnTokens: invalid execution chain")
504+ then aX(as, "burnTokens: invalid execution chain")
433505 else false)
434- then I(aL.payments, 1, "burnTokens: no payment")
506+ then O(aY.payments, 1, "burnTokens: no payment")
435507 else false)
436- then C(aR, 0, u, "burnTokens: invalid gaslessReward")
508+ then I(be, 0, A, "burnTokens: invalid gaslessReward")
437509 else false)
438- then C(aL.payments[0].amount, 0, u, "burnTokens: invalid payment amount")
510+ then I(aY.payments[0].amount, 0, A, "burnTokens: invalid payment amount")
439511 else false
440- if ((aN == aN))
512+ if ((ba == ba))
441513 then {
442- let aT = aL.payments[0].amount
443- let aW = {
444- let y = aL.payments[0].assetId
445- if ($isInstanceOf(y, "ByteVector"))
514+ let bg = aY.payments[0].amount
515+ let bm = {
516+ let E = aY.payments[0].assetId
517+ if ($isInstanceOf(E, "ByteVector"))
446518 then {
447- let z = y
448- z
519+ let F = E
520+ F
449521 }
450522 else throw("burnTokens: invalid asset")
451523 }
452- let bg = al(am, aW)
453- let bh = bg._1
454- let bi = bg._2
455- let bj = bg._3
456- let bk = bg._4
457- let bl = bg._5
458- let bm = bg._6
459- let bn = bg._7
460- let bo = bg._8
461- let bp = if (if (v(toString(bh), "burnTokens: no such binding"))
462- then C(aT, bj, u, "burnTokens: less than min")
524+ let bD = ar(as, bm)
525+ let bE = bD._1
526+ let bF = bD._2
527+ let bG = bD._3
528+ let bH = bD._4
529+ let bI = bD._5
530+ let bJ = bD._6
531+ let bK = bD._7
532+ let bL = bD._8
533+ let bM = if (if (B(toString(bE), "burnTokens: no such binding"))
534+ then I(bg, bG, A, "burnTokens: less than min")
463535 else false)
464- then G(bo, true, "burnTokens: token is disabled")
536+ then M(bL, true, "burnTokens: token is disabled")
465537 else false
466- if ((bp == bp))
538+ if ((bM == bM))
467539 then {
468- let aX = aG(invoke(bh, "getDecimals", nil, nil))
469- if ((aX == aX))
540+ let bN = aT(invoke(bE, u, nil, nil))
541+ if ((bN == bN))
470542 then {
471- let bq = if ((aT > bl))
472- then bn
473- else bm
474- let br = (bk + fraction(aT, bq, s))
475- let bs = C(aT, (br + 1), u, "burnTokens: fee more than amount")
476- if ((bs == bs))
543+ let bO = if ((bg > bI))
544+ then bK
545+ else bJ
546+ let bP = (bH + fraction(bg, bO, y))
547+ let bQ = I(bg, (bP + 1), A, "burnTokens: fee more than amount")
548+ if ((bQ == bQ))
477549 then {
478- let bt = (aT - br)
479- let bu = C(bt, (aR + 1), u, "burnTokens: reward more than amount")
480- if ((bu == bu))
550+ let bR = (bg - bP)
551+ let bS = I(bR, (be + 1), A, "burnTokens: reward more than amount")
552+ if ((bS == bS))
481553 then {
482- let bv = (aq(aW) + br)
483- let aY = M(bt, aX, r)
484- let aZ = M(aR, aX, r)
485- let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
486- if ((be == be))
487- then $Tuple2((ar(aW, bv) ++ [Burn(aW, bt)]), unit)
554+ let bT = (aw(bm) + bP)
555+ let bo = S(bR, bN, x)
556+ let bp = S(be, bN, x)
557+ let bU = invoke(ay(), s, [as, bF, bo, bd, bp], nil)
558+ if ((bU == bU))
559+ then $Tuple2((ax(bm, bT) ++ [Burn(bm, bR)]), unit)
488560 else throw("Strict value is not equal to itself.")
489561 }
490562 else throw("Strict value is not equal to itself.")
500572
501573
502574
503-@Callable(aL)
504-func burnTokensV2 (am,aQ,L,aR) = {
505- let aN = if (if (if (if (if (if (aC())
506- then aD()
575+@Callable(aY)
576+func burnTokensV2 (as,bd,R,be) = {
577+ let ba = if (if (if (if (if (if (aP())
578+ then aQ()
507579 else false)
508- then aK(am, "burnTokensV2: invalid execution chain")
580+ then aX(as, "burnTokensV2: invalid execution chain")
509581 else false)
510- then I(aL.payments, 1, "burnTokensV2: no payment")
582+ then O(aY.payments, 1, "burnTokensV2: no payment")
511583 else false)
512- then C(aR, 0, u, "burnTokensV2: invalid gaslessReward")
584+ then I(be, 0, A, "burnTokensV2: invalid gaslessReward")
513585 else false)
514- then C(aL.payments[0].amount, 0, u, "burnTokensV2: invalid payment amount")
586+ then I(aY.payments[0].amount, 0, A, "burnTokensV2: invalid payment amount")
515587 else false)
516- then K(L, "burnTokensV2: invalid referrer")
588+ then Q(R, "burnTokensV2: invalid referrer")
517589 else false
518- if ((aN == aN))
590+ if ((ba == ba))
519591 then {
520- let aT = aL.payments[0].amount
521- let aW = {
522- let y = aL.payments[0].assetId
523- if ($isInstanceOf(y, "ByteVector"))
592+ let bg = aY.payments[0].amount
593+ let bm = {
594+ let E = aY.payments[0].assetId
595+ if ($isInstanceOf(E, "ByteVector"))
524596 then {
525- let z = y
526- z
597+ let F = E
598+ F
527599 }
528600 else throw("burnTokensV2: invalid asset")
529601 }
530- let bg = al(am, aW)
531- let bh = bg._1
532- let bi = bg._2
533- let bj = bg._3
534- let bk = bg._4
535- let bl = bg._5
536- let bm = bg._6
537- let bn = bg._7
538- let bo = bg._8
539- let bp = if (if (v(toString(bh), "burnTokensV2: no such binding"))
540- then C(aT, bj, u, "burnTokensV2: less than min")
602+ let bD = ar(as, bm)
603+ let bE = bD._1
604+ let bF = bD._2
605+ let bG = bD._3
606+ let bH = bD._4
607+ let bI = bD._5
608+ let bJ = bD._6
609+ let bK = bD._7
610+ let bL = bD._8
611+ let bM = if (if (B(toString(bE), "burnTokensV2: no such binding"))
612+ then I(bg, bG, A, "burnTokensV2: less than min")
541613 else false)
542- then G(bo, true, "burnTokensV2: token is disabled")
614+ then M(bL, true, "burnTokensV2: token is disabled")
543615 else false
544- if ((bp == bp))
616+ if ((bM == bM))
545617 then {
546- let aX = aG(invoke(bh, "getDecimals", nil, nil))
547- if ((aX == aX))
618+ let bN = aT(invoke(bE, u, nil, nil))
619+ if ((bN == bN))
548620 then {
549- let bq = if ((aT > bl))
550- then bn
551- else bm
552- let br = (bk + fraction(aT, bq, s))
553- let bs = C(aT, (br + 1), u, "burnTokensV2: fee more than amount")
554- if ((bs == bs))
621+ let bO = if ((bg > bI))
622+ then bK
623+ else bJ
624+ let bP = (bH + fraction(bg, bO, y))
625+ let bQ = I(bg, (bP + 1), A, "burnTokensV2: fee more than amount")
626+ if ((bQ == bQ))
555627 then {
556- let bw = if ((L != ""))
628+ let bV = if ((R != ""))
557629 then {
558- let ba = addressFromStringValue(L)
559- let bx = fraction(ax(am, ba), br, s)
560- $Tuple2(bx, [ScriptTransfer(ba, bx, aW)])
630+ let bW = addressFromStringValue(R)
631+ let bX = fraction(aD(as, bW), bP, y)
632+ $Tuple2(bX, [ScriptTransfer(bW, bX, bm)])
561633 }
562634 else $Tuple2(0, nil)
563- let aV = bw._1
564- let bd = bw._2
565- let bt = (aT - br)
566- let bu = C(bt, (aR + 1), u, "burnTokensV2: reward more than amount")
567- if ((bu == bu))
635+ let bi = bV._1
636+ let bt = bV._2
637+ let bR = (bg - bP)
638+ let bS = I(bR, (be + 1), A, "burnTokensV2: reward more than amount")
639+ if ((bS == bS))
568640 then {
569- let bv = ((aq(aW) + br) - aV)
570- let aY = M(bt, aX, r)
571- let aZ = M(aR, aX, r)
572- let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
573- if ((be == be))
574- then $Tuple2(((ar(aW, bv) ++ bd) ++ [Burn(aW, bt)]), unit)
641+ let bT = ((aw(bm) + bP) - bi)
642+ let bo = S(bR, bN, x)
643+ let bp = S(be, bN, x)
644+ let bU = invoke(ay(), s, [as, bF, bo, bd, bp], nil)
645+ if ((bU == bU))
646+ then $Tuple2(((ax(bm, bT) ++ bt) ++ [Burn(bm, bR)]), unit)
575647 else throw("Strict value is not equal to itself.")
576648 }
577649 else throw("Strict value is not equal to itself.")
587659
588660
589661
590-@Callable(aL)
591-func transferFee (am,B) = {
592- let aN = if (if (aC())
593- then aD()
662+@Callable(aY)
663+func transferFee (as,H) = {
664+ let ba = if (if (aP())
665+ then aQ()
594666 else false)
595- then A(B, "transferFee: invalid asset")
667+ then G(H, "transferFee: invalid asset")
596668 else false
597- if ((aN == aN))
669+ if ((ba == ba))
598670 then {
599- let aW = fromBase58String(B)
600- let bg = al(am, aW)
601- let bh = bg._1
602- let bo = bg._8
603- let bp = if (v(toString(bh), "transferFee: no such binding"))
604- then G(bo, true, "transferFee: token is disabled")
671+ let bm = fromBase58String(H)
672+ let bD = ar(as, bm)
673+ let bE = bD._1
674+ let bL = bD._8
675+ let bM = if (B(toString(bE), "transferFee: no such binding"))
676+ then M(bL, true, "transferFee: token is disabled")
605677 else false
606- if ((bp == bp))
607- then $Tuple2((ar(aW, 0) ++ [ScriptTransfer(av(), aq(aW), aW)]), unit)
678+ if ((bM == bM))
679+ then $Tuple2((ax(bm, 0) ++ [ScriptTransfer(aB(), aw(bm), bm)]), unit)
608680 else throw("Strict value is not equal to itself.")
609681 }
610682 else throw("Strict value is not equal to itself.")
612684
613685
614686
615-@Callable(aL)
616-func updateCallerContract (aO) = {
617- let aN = if (az(aL.caller))
618- then aC()
687+@Callable(aY)
688+func updateCallerContract (bb) = {
689+ let ba = if (aM(aY.caller))
690+ then aP()
619691 else false
620- if ((aN == aN))
621- then $Tuple2(ag(aO), unit)
692+ if ((ba == ba))
693+ then $Tuple2(am(bb), unit)
622694 else throw("Strict value is not equal to itself.")
623695 }
624696
625697
626698
627-@Callable(aL)
628-func updateExecutionChain (am,by) = {
629- let aN = if (if (az(aL.caller))
630- then aC()
699+@Callable(aY)
700+func updateExecutionChain (as,bY) = {
701+ let ba = if (if (aM(aY.caller))
702+ then aP()
631703 else false)
632- then C(am, 0, u, "updateExecutionChain: invalid executionChainId")
704+ then I(as, 0, A, "updateExecutionChain: invalid executionChainId")
633705 else false
634- if ((aN == aN))
635- then $Tuple2(ak(am, by), unit)
706+ if ((ba == ba))
707+ then $Tuple2(aq(as, bY), unit)
636708 else throw("Strict value is not equal to itself.")
637709 }
638710
639711
640712
641-@Callable(aL)
642-func updateFeeRecipient (aM) = {
643- let aN = if (if (az(aL.caller))
644- then aC()
713+@Callable(aY)
714+func updateFeeRecipient (aZ) = {
715+ let ba = if (if (aM(aY.caller))
716+ then aP()
645717 else false)
646- then v(aM, "updateFeeRecipient: invalid feeRecipient")
718+ then B(aZ, "updateFeeRecipient: invalid feeRecipient")
647719 else false
648- if ((aN == aN))
649- then $Tuple2(aw(addressFromStringValue(aM)), unit)
720+ if ((ba == ba))
721+ then $Tuple2(aC(addressFromStringValue(aZ)), unit)
650722 else throw("Strict value is not equal to itself.")
651723 }
652724
653725
654726
655-@Callable(aL)
656-func updateReferrer (am,L,bz) = {
657- let aN = if (if (if (if (az(aL.caller))
658- then aC()
727+@Callable(aY)
728+func updateReferrer (as,R,bZ) = {
729+ let ba = if (if (if (if (aM(aY.caller))
730+ then aP()
659731 else false)
660- then aK(am, "updateReferrer: invalid execution chain")
732+ then aX(as, "updateReferrer: invalid execution chain")
661733 else false)
662- then v(L, "updateReferrer: invalid referrer")
734+ then B(R, "updateReferrer: invalid referrer")
663735 else false)
664- then C(bz, 0, t, "updateReferrer: invalid fee")
736+ then I(bZ, 0, z, "updateReferrer: invalid fee")
665737 else false
666- if ((aN == aN))
667- then $Tuple2(ay(am, addressFromStringValue(L), bz), unit)
738+ if ((ba == ba))
739+ then $Tuple2(aE(as, addressFromStringValue(R), bZ), unit)
668740 else throw("Strict value is not equal to itself.")
669741 }
670742
671743
672744
673-@Callable(aL)
674-func updateBindingInfo (am,aP,bA,bB,bC,bD,bE,bF,by) = {
675- let aN = if (if (if (if (if (if (if (if (az(aL.caller))
676- then aC()
745+@Callable(aY)
746+func updateBindingInfo (as,bc,ca,cb,cc,cd,ce,cf,bY) = {
747+ let ba = if (if (if (if (if (if (if (if (aM(aY.caller))
748+ then aP()
677749 else false)
678- then v(aP, "updateBindingInfo: invalid asset contract")
750+ then B(bc, "updateBindingInfo: invalid asset contract")
679751 else false)
680- then C(am, 0, u, "updateBindingInfo: invalid executionChainId")
752+ then I(as, 0, A, "updateBindingInfo: invalid executionChainId")
681753 else false)
682- then C(bB, 0, u, "updateBindingInfo: invalid minAmount")
754+ then I(cb, 0, A, "updateBindingInfo: invalid minAmount")
683755 else false)
684- then C(bC, 0, u, "updateBindingInfo: invalid minFee")
756+ then I(cc, 0, A, "updateBindingInfo: invalid minFee")
685757 else false)
686- then C(bD, 0, u, "updateBindingInfo: invalid thresholdFee")
758+ then I(cd, 0, A, "updateBindingInfo: invalid thresholdFee")
687759 else false)
688- then C(bE, 0, u, "updateBindingInfo: invalid beforePercentFee")
760+ then I(ce, 0, A, "updateBindingInfo: invalid beforePercentFee")
689761 else false)
690- then C(bF, 0, u, "updateBindingInfo: invalid afterPercentFee")
762+ then I(cf, 0, A, "updateBindingInfo: invalid afterPercentFee")
691763 else false
692- if ((aN == aN))
764+ if ((ba == ba))
693765 then {
694- let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
695- if ((aW == aW))
766+ let bm = aU(invoke(addressFromStringValue(bc), t, nil, nil))
767+ if ((bm == bm))
696768 then {
697- let bg = $Tuple8(addressFromStringValue(aP), bA, bB, bC, bD, bE, bF, by)
698- $Tuple2(ao(am, aW, bg), unit)
769+ let bD = $Tuple8(addressFromStringValue(bc), ca, cb, cc, cd, ce, cf, bY)
770+ $Tuple2(au(as, bm, bD), unit)
699771 }
700772 else throw("Strict value is not equal to itself.")
701773 }
704776
705777
706778
707-@Callable(aL)
708-func pause () = {
709- let aN = if (if (aF(aL.caller))
710- then aC()
779+@Callable(aY)
780+func addCrosschainPoolContract (aJ,aL) = {
781+ let ba = if (if (if (aM(aY.caller))
782+ then aP()
711783 else false)
712- then aD()
784+ then B(aJ, "addCrosschainPoolContract: invalid crosschainPoolContract")
785+ else false)
786+ then B(aL, "addCrosschainPoolContract: invalid bridgeAssetContract")
713787 else false
714- if ((aN == aN))
715- then $Tuple2(U(true), unit)
788+ if ((ba == ba))
789+ then $Tuple2((aG((aF() :+ aJ)) ++ aK(addressFromStringValue(aJ), addressFromStringValue(aL))), unit)
716790 else throw("Strict value is not equal to itself.")
717791 }
718792
719793
720794
721-@Callable(aL)
722-func unpause () = {
723- let aN = if (if (aF(aL.caller))
724- then aC()
795+@Callable(aY)
796+func pause () = {
797+ let ba = if (if (aS(aY.caller))
798+ then aP()
725799 else false)
726- then aE()
800+ then aQ()
727801 else false
728- if ((aN == aN))
729- then $Tuple2(U(false), unit)
802+ if ((ba == ba))
803+ then $Tuple2(aa(true), unit)
730804 else throw("Strict value is not equal to itself.")
731805 }
732806
733807
734808
735-@Callable(aL)
736-func updatePauser (Y) = {
737- let aN = if (if (az(aL.caller))
738- then aC()
809+@Callable(aY)
810+func unpause () = {
811+ let ba = if (if (aS(aY.caller))
812+ then aP()
739813 else false)
740- then v(Y, "updatePauser: invalid pauser")
814+ then aR()
741815 else false
742- if ((aN == aN))
743- then $Tuple2(X(addressFromStringValue(Y)), unit)
816+ if ((ba == ba))
817+ then $Tuple2(aa(false), unit)
744818 else throw("Strict value is not equal to itself.")
745819 }
746820
747821
748822
749-@Callable(aL)
750-func setMultisig (ab) = {
751- let aN = if (az(aL.caller))
752- then v(ab, "setMultisig: invalid multisig")
823+@Callable(aY)
824+func updatePauser (ae) = {
825+ let ba = if (if (aM(aY.caller))
826+ then aP()
827+ else false)
828+ then B(ae, "updatePauser: invalid pauser")
753829 else false
754- if ((aN == aN))
755- then $Tuple2(aa(addressFromStringValue(ab)), unit)
830+ if ((ba == ba))
831+ then $Tuple2(ad(addressFromStringValue(ae)), unit)
756832 else throw("Strict value is not equal to itself.")
757833 }
758834
759835
760-@Verifier(bG)
761-func bH () = {
762- let y = getString(c)
763- if ($isInstanceOf(y, "String"))
836+
837+@Callable(aY)
838+func setMultisig (ah) = {
839+ let ba = if (aM(aY.caller))
840+ then B(ah, "setMultisig: invalid multisig")
841+ else false
842+ if ((ba == ba))
843+ then $Tuple2(ag(addressFromStringValue(ah)), unit)
844+ else throw("Strict value is not equal to itself.")
845+ }
846+
847+
848+@Verifier(cg)
849+func ch () = {
850+ let E = getString(c)
851+ if ($isInstanceOf(E, "String"))
764852 then {
765- let bI = y
766- valueOrElse(getBoolean(addressFromStringValue(bI), makeString([d, toString(this), toBase58String(bG.id)], a)), false)
853+ let ci = E
854+ valueOrElse(getBoolean(addressFromStringValue(ci), makeString([d, toString(this), toBase58String(cg.id)], a)), false)
767855 }
768- else sigVerify(bG.bodyBytes, bG.proofs[0], bG.senderPublicKey)
856+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
769857 }
770858
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 = "REFERRER_FEE_PERCENT"
3131
32-let o = "releaseTokens"
32+let o = "CROSSCHAIN_POOL_CONTRACTS"
3333
34-let p = "WAVES"
34+let p = "BRIDGE_ASSET_CONTRACT"
3535
36-let q = 8
36+let q = "mint"
3737
38-let r = 6
38+let r = "deposit"
3939
40-let s = 1000000
40+let s = "releaseTokens"
4141
42-let t = 200000
42+let t = "getAssetId"
4343
44-let u = 9223372036854775807
44+let u = "getDecimals"
4545
46-func v (w,x) = {
47- let y = addressFromString(w)
48- if ($isInstanceOf(y, "Address"))
46+let v = "WAVES"
47+
48+let w = 8
49+
50+let x = 6
51+
52+let y = 1000000
53+
54+let z = 200000
55+
56+let A = 9223372036854775807
57+
58+func B (C,D) = {
59+ let E = addressFromString(C)
60+ if ($isInstanceOf(E, "Address"))
4961 then {
50- let z = y
62+ let F = E
5163 true
5264 }
53- else throw(x)
65+ else throw(D)
5466 }
5567
5668
57-func A (B,x) = {
58- let y = assetInfo(fromBase58String(B))
59- if ($isInstanceOf(y, "Asset"))
69+func G (H,D) = {
70+ let E = assetInfo(fromBase58String(H))
71+ if ($isInstanceOf(E, "Asset"))
6072 then {
61- let z = y
73+ let F = E
6274 true
6375 }
64- else throw(x)
76+ else throw(D)
6577 }
6678
6779
68-func C (D,E,F,x) = if (if ((E > D))
80+func I (J,K,L,D) = if (if ((K > J))
6981 then true
70- else (D > F))
71- then throw(x)
82+ else (J > L))
83+ then throw(D)
7284 else true
7385
7486
75-func G (D,H,x) = if ((D != H))
76- then throw(x)
87+func M (J,N,D) = if ((J != N))
88+ then throw(D)
7789 else true
7890
7991
80-func I (J,H,x) = if ((size(J) != H))
81- then throw(x)
92+func O (P,N,D) = if ((size(P) != N))
93+ then throw(D)
8294 else true
8395
8496
85-func K (L,x) = if ((L != ""))
86- then v(L, x)
97+func Q (R,D) = if ((R != ""))
98+ then B(R, D)
8799 else true
88100
89101
90-func M (N,O,P) = if ((O >= P))
91- then (N / pow(10, 0, (O - P), 0, 0, DOWN))
92- else (N * pow(10, 0, (P - O), 0, 0, DOWN))
102+func S (T,U,V) = if ((U >= V))
103+ then (T / pow(10, 0, (U - V), 0, 0, DOWN))
104+ else (T * pow(10, 0, (V - U), 0, 0, DOWN))
93105
94106
95-func Q () = {
96- let y = getBoolean(b)
97- if ($isInstanceOf(y, "Boolean"))
107+func W () = {
108+ let E = getBoolean(b)
109+ if ($isInstanceOf(E, "Boolean"))
98110 then {
99- let z = y
100- z
111+ let F = E
112+ F
101113 }
102114 else false
103115 }
104116
105117
106-func R (S) = [BooleanEntry(b, S)]
118+func X (Y) = [BooleanEntry(b, Y)]
107119
108120
109-func T () = {
110- let y = getBoolean(e)
111- if ($isInstanceOf(y, "Boolean"))
121+func Z () = {
122+ let E = getBoolean(e)
123+ if ($isInstanceOf(E, "Boolean"))
112124 then {
113- let z = y
114- z
125+ let F = E
126+ F
115127 }
116128 else false
117129 }
118130
119131
120-func U (V) = [BooleanEntry(e, V)]
132+func aa (ab) = [BooleanEntry(e, ab)]
121133
122134
123-func W () = {
124- let y = getString(f)
125- if ($isInstanceOf(y, "String"))
135+func ac () = {
136+ let E = getString(f)
137+ if ($isInstanceOf(E, "String"))
126138 then {
127- let z = y
128- addressFromStringValue(z)
139+ let F = E
140+ addressFromStringValue(F)
129141 }
130142 else Address(base58'')
131143 }
132144
133145
134-func X (Y) = [StringEntry(f, toString(Y))]
146+func ad (ae) = [StringEntry(f, toString(ae))]
135147
136148
137-func Z () = {
138- let y = getString(c)
139- if ($isInstanceOf(y, "String"))
149+func af () = {
150+ let E = getString(c)
151+ if ($isInstanceOf(E, "String"))
140152 then {
141- let z = y
142- addressFromStringValue(z)
153+ let F = E
154+ addressFromStringValue(F)
143155 }
144156 else Address(base58'')
145157 }
146158
147159
148-func aa (ab) = [StringEntry(c, toString(ab))]
160+func ag (ah) = [StringEntry(c, toString(ah))]
149161
150162
151-func ac () = {
152- let y = getString(g)
153- if ($isInstanceOf(y, "String"))
163+func ai () = {
164+ let E = getString(g)
165+ if ($isInstanceOf(E, "String"))
154166 then {
155- let z = y
156- addressFromStringValue(z)
167+ let F = E
168+ addressFromStringValue(F)
157169 }
158170 else Address(base58'')
159171 }
160172
161173
162-func ad (ae) = [StringEntry(g, toString(ae))]
174+func aj (ak) = [StringEntry(g, toString(ak))]
163175
164176
165-func af () = {
166- let y = getString(i)
167- if ($isInstanceOf(y, "String"))
177+func al () = {
178+ let E = getString(i)
179+ if ($isInstanceOf(E, "String"))
168180 then {
169- let z = y
170- z
181+ let F = E
182+ F
171183 }
172184 else ""
173185 }
174186
175187
176-func ag (ah) = [StringEntry(i, ah)]
188+func am (an) = [StringEntry(i, an)]
177189
178190
179-func ai (aj) = {
180- let y = getBoolean(makeString([j, toString(aj)], a))
181- if ($isInstanceOf(y, "Boolean"))
191+func ao (ap) = {
192+ let E = getBoolean(makeString([j, toString(ap)], a))
193+ if ($isInstanceOf(E, "Boolean"))
182194 then {
183- let z = y
184- z
195+ let F = E
196+ F
185197 }
186198 else false
187199 }
188200
189201
190-func ak (aj,D) = [BooleanEntry(makeString([j, toString(aj)], a), D)]
202+func aq (ap,J) = [BooleanEntry(makeString([j, toString(ap)], a), J)]
191203
192204
193-func al (am,B) = {
194- let y = getString(makeString([k, toString(am), toBase58String(B)], a))
195- if ($isInstanceOf(y, "String"))
205+func ar (as,H) = {
206+ let E = getString(makeString([k, toString(as), toBase58String(H)], a))
207+ if ($isInstanceOf(E, "String"))
196208 then {
197- let z = y
198- let an = split(z, a)
199- $Tuple8(addressFromStringValue(an[0]), an[1], parseIntValue(an[2]), parseIntValue(an[3]), parseIntValue(an[4]), parseIntValue(an[5]), parseIntValue(an[6]), if ((an[7] == "1"))
209+ let F = E
210+ let at = split(F, a)
211+ $Tuple8(addressFromStringValue(at[0]), at[1], parseIntValue(at[2]), parseIntValue(at[3]), parseIntValue(at[4]), parseIntValue(at[5]), parseIntValue(at[6]), if ((at[7] == "1"))
200212 then true
201213 else false)
202214 }
203215 else $Tuple8(Address(base58''), "", 0, 0, 0, 0, 0, false)
204216 }
205217
206218
207-func ao (am,B,ap) = [StringEntry(makeString([k, toString(am), toBase58String(B)], a), makeString([toString(ap._1), ap._2, toString(ap._3), toString(ap._4), toString(ap._5), toString(ap._6), toString(ap._7), if (ap._8)
219+func au (as,H,av) = [StringEntry(makeString([k, toString(as), toBase58String(H)], a), makeString([toString(av._1), av._2, toString(av._3), toString(av._4), toString(av._5), toString(av._6), toString(av._7), if (av._8)
208220 then "1"
209221 else "0"], a))]
210222
211223
212-func aq (B) = {
213- let y = getInteger(makeString([l, toBase58String(B)], a))
214- if ($isInstanceOf(y, "Int"))
224+func aw (H) = {
225+ let E = getInteger(makeString([l, toBase58String(H)], a))
226+ if ($isInstanceOf(E, "Int"))
215227 then {
216- let z = y
217- z
228+ let F = E
229+ F
218230 }
219231 else 0
220232 }
221233
222234
223-func ar (B,D) = [IntegerEntry(makeString([l, toBase58String(B)], a), D)]
235+func ax (H,J) = [IntegerEntry(makeString([l, toBase58String(H)], a), J)]
224236
225237
226-func as () = {
227- let y = getString(h)
228- if ($isInstanceOf(y, "String"))
238+func ay () = {
239+ let E = getString(h)
240+ if ($isInstanceOf(E, "String"))
229241 then {
230- let z = y
231- addressFromStringValue(z)
242+ let F = E
243+ addressFromStringValue(F)
232244 }
233245 else Address(base58'')
234246 }
235247
236248
237-func at (au) = [StringEntry(h, toString(au))]
249+func az (aA) = [StringEntry(h, toString(aA))]
238250
239251
240-func av () = {
241- let y = getString(m)
242- if ($isInstanceOf(y, "String"))
252+func aB () = {
253+ let E = getString(m)
254+ if ($isInstanceOf(E, "String"))
243255 then {
244- let z = y
245- addressFromStringValue(z)
256+ let F = E
257+ addressFromStringValue(F)
246258 }
247259 else Address(base58'')
248260 }
249261
250262
251-func aw (D) = [StringEntry(m, toString(D))]
263+func aC (J) = [StringEntry(m, toString(J))]
252264
253265
254-func ax (am,L) = {
255- let y = getInteger(makeString([n, toString(am), toString(L)], a))
256- if ($isInstanceOf(y, "Int"))
266+func aD (as,R) = {
267+ let E = getInteger(makeString([n, toString(as), toString(R)], a))
268+ if ($isInstanceOf(E, "Int"))
257269 then {
258- let z = y
259- z
270+ let F = E
271+ F
260272 }
261273 else 0
262274 }
263275
264276
265-func ay (am,L,D) = [IntegerEntry(makeString([n, toString(am), toString(L)], a), D)]
277+func aE (as,R,J) = [IntegerEntry(makeString([n, toString(as), toString(R)], a), J)]
266278
267279
268-func az (ah) = if ((ah != this))
280+func aF () = {
281+ let E = getString(o)
282+ if ($isInstanceOf(E, "String"))
283+ then {
284+ let F = E
285+ if ((size(F) > 0))
286+ then split_51C(F, a)
287+ else nil
288+ }
289+ else nil
290+ }
291+
292+
293+func aG (aH) = [StringEntry(o, makeString_11C(aH, a))]
294+
295+
296+func aI (aJ) = {
297+ let E = getString(makeString([p, toString(aJ)], a))
298+ if ($isInstanceOf(E, "String"))
299+ then {
300+ let F = E
301+ addressFromStringValue(F)
302+ }
303+ else Address(base58'')
304+ }
305+
306+
307+func aK (aJ,aL) = [StringEntry(makeString([p, toString(aJ)], a), toString(aL))]
308+
309+
310+func aM (an) = if ((an != this))
269311 then throw("_onlyThisContract: revert")
270312 else true
271313
272314
273-func aA () = if ((Z() == Address(base58'')))
315+func aN () = if ((af() == Address(base58'')))
274316 then throw("_whenMultisigSet: revert")
275317 else true
276318
277319
278-func aB () = if (Q())
320+func aO () = if (W())
279321 then throw("_whenNotInitialized: revert")
280322 else true
281323
282324
283-func aC () = if (!(Q()))
325+func aP () = if (!(W()))
284326 then throw("_whenInitialized: revert")
285327 else true
286328
287329
288-func aD () = if (T())
330+func aQ () = if (Z())
289331 then throw("_whenNotPaused: revert")
290332 else true
291333
292334
293-func aE () = if (!(T()))
335+func aR () = if (!(Z()))
294336 then throw("_whenPaused: revert")
295337 else true
296338
297339
298-func aF (ah) = if ((ah != W()))
340+func aS (an) = if ((an != ac()))
299341 then throw("_onlyPauser: revert")
300342 else true
301343
302344
303-func aG (D) = {
304- let y = D
305- if ($isInstanceOf(y, "Int"))
345+func aT (J) = {
346+ let E = J
347+ if ($isInstanceOf(E, "Int"))
306348 then {
307- let z = y
308- z
349+ let F = E
350+ F
309351 }
310352 else throw("_asInt: revert")
311353 }
312354
313355
314-func aH (D) = {
315- let y = D
316- if ($isInstanceOf(y, "ByteVector"))
356+func aU (J) = {
357+ let E = J
358+ if ($isInstanceOf(E, "ByteVector"))
317359 then {
318- let z = y
319- z
360+ let F = E
361+ F
320362 }
321363 else throw("_asBytes: revert")
322364 }
323365
324366
325-func aI (D,x) = if ((D != ac()))
326- then throw(x)
367+func aV (J,D) = if ((J != ai()))
368+ then throw(D)
327369 else true
328370
329371
330-func aJ (D,x) = if ((D != af()))
331- then throw(x)
372+func aW (J,D) = if ((J != al()))
373+ then throw(D)
332374 else true
333375
334376
335-func aK (am,x) = if (!(ai(am)))
336- then throw(x)
377+func aX (as,D) = if (!(ao(as)))
378+ then throw(D)
337379 else true
338380
339381
340-@Callable(aL)
341-func init (ae,au,Y,aM) = {
342- let aN = if (if (if (if (if (if (az(aL.caller))
343- then aB()
382+@Callable(aY)
383+func init (ak,aA,ae,aZ) = {
384+ let ba = if (if (if (if (if (if (aM(aY.caller))
385+ then aO()
344386 else false)
345- then aA()
387+ then aN()
346388 else false)
347- then v(ae, "init: invalid executor")
389+ then B(ak, "init: invalid executor")
348390 else false)
349- then v(au, "init: invalid adapter")
391+ then B(aA, "init: invalid adapter")
350392 else false)
351- then v(Y, "init: invalid pauser")
393+ then B(ae, "init: invalid pauser")
352394 else false)
353- then v(aM, "init: invalid feeRecipient")
395+ then B(aZ, "init: invalid feeRecipient")
354396 else false
355- if ((aN == aN))
356- then $Tuple2(((((R(true) ++ ad(addressFromStringValue(ae))) ++ at(addressFromStringValue(au))) ++ X(addressFromStringValue(Y))) ++ aw(addressFromStringValue(aM))), unit)
397+ if ((ba == ba))
398+ then $Tuple2(((((X(true) ++ aj(addressFromStringValue(ak))) ++ az(addressFromStringValue(aA))) ++ ad(addressFromStringValue(ae))) ++ aC(addressFromStringValue(aZ))), unit)
357399 else throw("Strict value is not equal to itself.")
358400 }
359401
360402
361403
362-@Callable(aL)
363-func mintTokens (aO,aP,N,aQ,aR,L,aS) = {
364- let aT = valueOrErrorMessage(parseInt(N), "mint: amount is not Int")
365- let aU = valueOrErrorMessage(parseInt(aR), "mint: gaslessReward is not Int")
366- let aV = valueOrErrorMessage(parseInt(aS), "mint: referrerFee is not Int")
367- let aN = if (if (if (if (if (if (if (if (aC())
368- then aD()
404+@Callable(aY)
405+func mintTokens (bb,bc,T,bd,be,R,bf) = {
406+ let bg = valueOrErrorMessage(parseInt(T), "mint: amount is not Int")
407+ let bh = valueOrErrorMessage(parseInt(be), "mint: gaslessReward is not Int")
408+ let bi = valueOrErrorMessage(parseInt(bf), "mint: referrerFee is not Int")
409+ let ba = if (if (if (if (if (if (if (if (aP())
410+ then aQ()
369411 else false)
370- then v(aP, "mint: invalid asset contract")
412+ then B(bc, "mint: invalid asset contract")
371413 else false)
372- then aI(aL.caller, "mint: invalid executor")
414+ then aV(aY.caller, "mint: invalid executor")
373415 else false)
374- then aJ(aO, "mint: invalid caller")
416+ then aW(bb, "mint: invalid caller")
375417 else false)
376- then v(aQ, "mint: invalid recipient address")
418+ then B(bd, "mint: invalid recipient address")
377419 else false)
378- then C(aT, 0, u, "mint: invalid amount")
420+ then I(bg, 0, A, "mint: invalid amount")
379421 else false)
380- then C(aU, 0, u, "mint: invalid gaslessReward")
422+ then I(bh, 0, A, "mint: invalid gaslessReward")
381423 else false)
382- then C(aV, 0, u, "mint: invalid referrer fee")
424+ then I(bi, 0, A, "mint: invalid referrer fee")
383425 else false
384- if ((aN == aN))
426+ if ((ba == ba))
385427 then {
386- let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
387- if ((aW == aW))
428+ let bj = if (containsElement(aF(), bc))
429+ then $Tuple2(true, aI(addressFromStringValue(bc)))
430+ else $Tuple2(false, addressFromStringValue(bc))
431+ let bk = bj._1
432+ let bl = bj._2
433+ let bm = aU(invoke(bl, t, nil, nil))
434+ if ((bm == bm))
388435 then {
389- let aX = aG(invoke(addressFromStringValue(aP), "getDecimals", nil, nil))
390- if ((aX == aX))
436+ let bn = aT(invoke(bl, u, nil, nil))
437+ if ((bn == bn))
391438 then {
392- let aY = M(aT, r, aX)
393- let aZ = M(aU, r, aX)
394- let ba = {
395- let y = addressFromString(L)
396- if ($isInstanceOf(y, "Address"))
439+ let bo = S(bg, x, bn)
440+ let bp = S(bh, x, bn)
441+ let bq = {
442+ let E = addressFromString(R)
443+ if ($isInstanceOf(E, "Address"))
397444 then {
398- let bb = y
399- let bc = M(aV, r, aX)
400- $Tuple2(bc, [ScriptTransfer(bb, bc, aW)])
445+ let br = E
446+ let bs = S(bi, x, bn)
447+ $Tuple2(bs, [ScriptTransfer(br, bs, bm)])
401448 }
402449 else $Tuple2(0, nil)
403450 }
404- let bc = ba._1
405- let bd = ba._2
406- let be = invoke(addressFromStringValue(aP), "mint", [(aY + bc), toString(this)], nil)
407- if ((be == be))
451+ let bs = bq._1
452+ let bt = bq._2
453+ let bu = invoke(bl, q, [(bo + bs), toString(this)], nil)
454+ if ((bu == bu))
408455 then {
409- let bf = if (if ((aZ > 0))
410- then (addressFromStringValue(aQ) != aL.originCaller)
456+ let bv = if (if ((bp > 0))
457+ then (addressFromStringValue(bd) != aY.originCaller)
411458 else false)
412- then [ScriptTransfer(addressFromStringValue(aQ), (aY - aZ), aW), ScriptTransfer(aL.originCaller, aZ, aW)]
413- else [ScriptTransfer(addressFromStringValue(aQ), aY, aW)]
414- $Tuple2((bf ++ bd), unit)
459+ then $Tuple2([ScriptTransfer(aY.originCaller, bp, bm)], bp)
460+ else $Tuple2(nil, 0)
461+ let bw = bv._1
462+ let bx = bv._2
463+ let by = if (bk)
464+ then {
465+ let bz = aU(invoke(addressFromStringValue(bc), t, nil, nil))
466+ if ((bz == bz))
467+ then {
468+ let bA = assetBalance(this, bz)
469+ if ((bA == bA))
470+ then {
471+ let bB = invoke(addressFromStringValue(bc), r, [0], [AttachedPayment(bm, (bo - bx))])
472+ if ((bB == bB))
473+ then {
474+ let bC = assetBalance(this, bz)
475+ if ((bC == bC))
476+ then [ScriptTransfer(addressFromStringValue(bd), (bC - bA), bz)]
477+ else throw("Strict value is not equal to itself.")
478+ }
479+ else throw("Strict value is not equal to itself.")
480+ }
481+ else throw("Strict value is not equal to itself.")
482+ }
483+ else throw("Strict value is not equal to itself.")
484+ }
485+ else [ScriptTransfer(addressFromStringValue(bd), (bo - bx), bm)]
486+ $Tuple2(((by ++ bw) ++ bt), unit)
415487 }
416488 else throw("Strict value is not equal to itself.")
417489 }
418490 else throw("Strict value is not equal to itself.")
419491 }
420492 else throw("Strict value is not equal to itself.")
421493 }
422494 else throw("Strict value is not equal to itself.")
423495 }
424496
425497
426498
427-@Callable(aL)
428-func burnTokens (am,aQ,aR) = {
429- let aN = if (if (if (if (if (aC())
430- then aD()
499+@Callable(aY)
500+func burnTokens (as,bd,be) = {
501+ let ba = if (if (if (if (if (aP())
502+ then aQ()
431503 else false)
432- then aK(am, "burnTokens: invalid execution chain")
504+ then aX(as, "burnTokens: invalid execution chain")
433505 else false)
434- then I(aL.payments, 1, "burnTokens: no payment")
506+ then O(aY.payments, 1, "burnTokens: no payment")
435507 else false)
436- then C(aR, 0, u, "burnTokens: invalid gaslessReward")
508+ then I(be, 0, A, "burnTokens: invalid gaslessReward")
437509 else false)
438- then C(aL.payments[0].amount, 0, u, "burnTokens: invalid payment amount")
510+ then I(aY.payments[0].amount, 0, A, "burnTokens: invalid payment amount")
439511 else false
440- if ((aN == aN))
512+ if ((ba == ba))
441513 then {
442- let aT = aL.payments[0].amount
443- let aW = {
444- let y = aL.payments[0].assetId
445- if ($isInstanceOf(y, "ByteVector"))
514+ let bg = aY.payments[0].amount
515+ let bm = {
516+ let E = aY.payments[0].assetId
517+ if ($isInstanceOf(E, "ByteVector"))
446518 then {
447- let z = y
448- z
519+ let F = E
520+ F
449521 }
450522 else throw("burnTokens: invalid asset")
451523 }
452- let bg = al(am, aW)
453- let bh = bg._1
454- let bi = bg._2
455- let bj = bg._3
456- let bk = bg._4
457- let bl = bg._5
458- let bm = bg._6
459- let bn = bg._7
460- let bo = bg._8
461- let bp = if (if (v(toString(bh), "burnTokens: no such binding"))
462- then C(aT, bj, u, "burnTokens: less than min")
524+ let bD = ar(as, bm)
525+ let bE = bD._1
526+ let bF = bD._2
527+ let bG = bD._3
528+ let bH = bD._4
529+ let bI = bD._5
530+ let bJ = bD._6
531+ let bK = bD._7
532+ let bL = bD._8
533+ let bM = if (if (B(toString(bE), "burnTokens: no such binding"))
534+ then I(bg, bG, A, "burnTokens: less than min")
463535 else false)
464- then G(bo, true, "burnTokens: token is disabled")
536+ then M(bL, true, "burnTokens: token is disabled")
465537 else false
466- if ((bp == bp))
538+ if ((bM == bM))
467539 then {
468- let aX = aG(invoke(bh, "getDecimals", nil, nil))
469- if ((aX == aX))
540+ let bN = aT(invoke(bE, u, nil, nil))
541+ if ((bN == bN))
470542 then {
471- let bq = if ((aT > bl))
472- then bn
473- else bm
474- let br = (bk + fraction(aT, bq, s))
475- let bs = C(aT, (br + 1), u, "burnTokens: fee more than amount")
476- if ((bs == bs))
543+ let bO = if ((bg > bI))
544+ then bK
545+ else bJ
546+ let bP = (bH + fraction(bg, bO, y))
547+ let bQ = I(bg, (bP + 1), A, "burnTokens: fee more than amount")
548+ if ((bQ == bQ))
477549 then {
478- let bt = (aT - br)
479- let bu = C(bt, (aR + 1), u, "burnTokens: reward more than amount")
480- if ((bu == bu))
550+ let bR = (bg - bP)
551+ let bS = I(bR, (be + 1), A, "burnTokens: reward more than amount")
552+ if ((bS == bS))
481553 then {
482- let bv = (aq(aW) + br)
483- let aY = M(bt, aX, r)
484- let aZ = M(aR, aX, r)
485- let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
486- if ((be == be))
487- then $Tuple2((ar(aW, bv) ++ [Burn(aW, bt)]), unit)
554+ let bT = (aw(bm) + bP)
555+ let bo = S(bR, bN, x)
556+ let bp = S(be, bN, x)
557+ let bU = invoke(ay(), s, [as, bF, bo, bd, bp], nil)
558+ if ((bU == bU))
559+ then $Tuple2((ax(bm, bT) ++ [Burn(bm, bR)]), unit)
488560 else throw("Strict value is not equal to itself.")
489561 }
490562 else throw("Strict value is not equal to itself.")
491563 }
492564 else throw("Strict value is not equal to itself.")
493565 }
494566 else throw("Strict value is not equal to itself.")
495567 }
496568 else throw("Strict value is not equal to itself.")
497569 }
498570 else throw("Strict value is not equal to itself.")
499571 }
500572
501573
502574
503-@Callable(aL)
504-func burnTokensV2 (am,aQ,L,aR) = {
505- let aN = if (if (if (if (if (if (aC())
506- then aD()
575+@Callable(aY)
576+func burnTokensV2 (as,bd,R,be) = {
577+ let ba = if (if (if (if (if (if (aP())
578+ then aQ()
507579 else false)
508- then aK(am, "burnTokensV2: invalid execution chain")
580+ then aX(as, "burnTokensV2: invalid execution chain")
509581 else false)
510- then I(aL.payments, 1, "burnTokensV2: no payment")
582+ then O(aY.payments, 1, "burnTokensV2: no payment")
511583 else false)
512- then C(aR, 0, u, "burnTokensV2: invalid gaslessReward")
584+ then I(be, 0, A, "burnTokensV2: invalid gaslessReward")
513585 else false)
514- then C(aL.payments[0].amount, 0, u, "burnTokensV2: invalid payment amount")
586+ then I(aY.payments[0].amount, 0, A, "burnTokensV2: invalid payment amount")
515587 else false)
516- then K(L, "burnTokensV2: invalid referrer")
588+ then Q(R, "burnTokensV2: invalid referrer")
517589 else false
518- if ((aN == aN))
590+ if ((ba == ba))
519591 then {
520- let aT = aL.payments[0].amount
521- let aW = {
522- let y = aL.payments[0].assetId
523- if ($isInstanceOf(y, "ByteVector"))
592+ let bg = aY.payments[0].amount
593+ let bm = {
594+ let E = aY.payments[0].assetId
595+ if ($isInstanceOf(E, "ByteVector"))
524596 then {
525- let z = y
526- z
597+ let F = E
598+ F
527599 }
528600 else throw("burnTokensV2: invalid asset")
529601 }
530- let bg = al(am, aW)
531- let bh = bg._1
532- let bi = bg._2
533- let bj = bg._3
534- let bk = bg._4
535- let bl = bg._5
536- let bm = bg._6
537- let bn = bg._7
538- let bo = bg._8
539- let bp = if (if (v(toString(bh), "burnTokensV2: no such binding"))
540- then C(aT, bj, u, "burnTokensV2: less than min")
602+ let bD = ar(as, bm)
603+ let bE = bD._1
604+ let bF = bD._2
605+ let bG = bD._3
606+ let bH = bD._4
607+ let bI = bD._5
608+ let bJ = bD._6
609+ let bK = bD._7
610+ let bL = bD._8
611+ let bM = if (if (B(toString(bE), "burnTokensV2: no such binding"))
612+ then I(bg, bG, A, "burnTokensV2: less than min")
541613 else false)
542- then G(bo, true, "burnTokensV2: token is disabled")
614+ then M(bL, true, "burnTokensV2: token is disabled")
543615 else false
544- if ((bp == bp))
616+ if ((bM == bM))
545617 then {
546- let aX = aG(invoke(bh, "getDecimals", nil, nil))
547- if ((aX == aX))
618+ let bN = aT(invoke(bE, u, nil, nil))
619+ if ((bN == bN))
548620 then {
549- let bq = if ((aT > bl))
550- then bn
551- else bm
552- let br = (bk + fraction(aT, bq, s))
553- let bs = C(aT, (br + 1), u, "burnTokensV2: fee more than amount")
554- if ((bs == bs))
621+ let bO = if ((bg > bI))
622+ then bK
623+ else bJ
624+ let bP = (bH + fraction(bg, bO, y))
625+ let bQ = I(bg, (bP + 1), A, "burnTokensV2: fee more than amount")
626+ if ((bQ == bQ))
555627 then {
556- let bw = if ((L != ""))
628+ let bV = if ((R != ""))
557629 then {
558- let ba = addressFromStringValue(L)
559- let bx = fraction(ax(am, ba), br, s)
560- $Tuple2(bx, [ScriptTransfer(ba, bx, aW)])
630+ let bW = addressFromStringValue(R)
631+ let bX = fraction(aD(as, bW), bP, y)
632+ $Tuple2(bX, [ScriptTransfer(bW, bX, bm)])
561633 }
562634 else $Tuple2(0, nil)
563- let aV = bw._1
564- let bd = bw._2
565- let bt = (aT - br)
566- let bu = C(bt, (aR + 1), u, "burnTokensV2: reward more than amount")
567- if ((bu == bu))
635+ let bi = bV._1
636+ let bt = bV._2
637+ let bR = (bg - bP)
638+ let bS = I(bR, (be + 1), A, "burnTokensV2: reward more than amount")
639+ if ((bS == bS))
568640 then {
569- let bv = ((aq(aW) + br) - aV)
570- let aY = M(bt, aX, r)
571- let aZ = M(aR, aX, r)
572- let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
573- if ((be == be))
574- then $Tuple2(((ar(aW, bv) ++ bd) ++ [Burn(aW, bt)]), unit)
641+ let bT = ((aw(bm) + bP) - bi)
642+ let bo = S(bR, bN, x)
643+ let bp = S(be, bN, x)
644+ let bU = invoke(ay(), s, [as, bF, bo, bd, bp], nil)
645+ if ((bU == bU))
646+ then $Tuple2(((ax(bm, bT) ++ bt) ++ [Burn(bm, bR)]), unit)
575647 else throw("Strict value is not equal to itself.")
576648 }
577649 else throw("Strict value is not equal to itself.")
578650 }
579651 else throw("Strict value is not equal to itself.")
580652 }
581653 else throw("Strict value is not equal to itself.")
582654 }
583655 else throw("Strict value is not equal to itself.")
584656 }
585657 else throw("Strict value is not equal to itself.")
586658 }
587659
588660
589661
590-@Callable(aL)
591-func transferFee (am,B) = {
592- let aN = if (if (aC())
593- then aD()
662+@Callable(aY)
663+func transferFee (as,H) = {
664+ let ba = if (if (aP())
665+ then aQ()
594666 else false)
595- then A(B, "transferFee: invalid asset")
667+ then G(H, "transferFee: invalid asset")
596668 else false
597- if ((aN == aN))
669+ if ((ba == ba))
598670 then {
599- let aW = fromBase58String(B)
600- let bg = al(am, aW)
601- let bh = bg._1
602- let bo = bg._8
603- let bp = if (v(toString(bh), "transferFee: no such binding"))
604- then G(bo, true, "transferFee: token is disabled")
671+ let bm = fromBase58String(H)
672+ let bD = ar(as, bm)
673+ let bE = bD._1
674+ let bL = bD._8
675+ let bM = if (B(toString(bE), "transferFee: no such binding"))
676+ then M(bL, true, "transferFee: token is disabled")
605677 else false
606- if ((bp == bp))
607- then $Tuple2((ar(aW, 0) ++ [ScriptTransfer(av(), aq(aW), aW)]), unit)
678+ if ((bM == bM))
679+ then $Tuple2((ax(bm, 0) ++ [ScriptTransfer(aB(), aw(bm), bm)]), unit)
608680 else throw("Strict value is not equal to itself.")
609681 }
610682 else throw("Strict value is not equal to itself.")
611683 }
612684
613685
614686
615-@Callable(aL)
616-func updateCallerContract (aO) = {
617- let aN = if (az(aL.caller))
618- then aC()
687+@Callable(aY)
688+func updateCallerContract (bb) = {
689+ let ba = if (aM(aY.caller))
690+ then aP()
619691 else false
620- if ((aN == aN))
621- then $Tuple2(ag(aO), unit)
692+ if ((ba == ba))
693+ then $Tuple2(am(bb), unit)
622694 else throw("Strict value is not equal to itself.")
623695 }
624696
625697
626698
627-@Callable(aL)
628-func updateExecutionChain (am,by) = {
629- let aN = if (if (az(aL.caller))
630- then aC()
699+@Callable(aY)
700+func updateExecutionChain (as,bY) = {
701+ let ba = if (if (aM(aY.caller))
702+ then aP()
631703 else false)
632- then C(am, 0, u, "updateExecutionChain: invalid executionChainId")
704+ then I(as, 0, A, "updateExecutionChain: invalid executionChainId")
633705 else false
634- if ((aN == aN))
635- then $Tuple2(ak(am, by), unit)
706+ if ((ba == ba))
707+ then $Tuple2(aq(as, bY), unit)
636708 else throw("Strict value is not equal to itself.")
637709 }
638710
639711
640712
641-@Callable(aL)
642-func updateFeeRecipient (aM) = {
643- let aN = if (if (az(aL.caller))
644- then aC()
713+@Callable(aY)
714+func updateFeeRecipient (aZ) = {
715+ let ba = if (if (aM(aY.caller))
716+ then aP()
645717 else false)
646- then v(aM, "updateFeeRecipient: invalid feeRecipient")
718+ then B(aZ, "updateFeeRecipient: invalid feeRecipient")
647719 else false
648- if ((aN == aN))
649- then $Tuple2(aw(addressFromStringValue(aM)), unit)
720+ if ((ba == ba))
721+ then $Tuple2(aC(addressFromStringValue(aZ)), unit)
650722 else throw("Strict value is not equal to itself.")
651723 }
652724
653725
654726
655-@Callable(aL)
656-func updateReferrer (am,L,bz) = {
657- let aN = if (if (if (if (az(aL.caller))
658- then aC()
727+@Callable(aY)
728+func updateReferrer (as,R,bZ) = {
729+ let ba = if (if (if (if (aM(aY.caller))
730+ then aP()
659731 else false)
660- then aK(am, "updateReferrer: invalid execution chain")
732+ then aX(as, "updateReferrer: invalid execution chain")
661733 else false)
662- then v(L, "updateReferrer: invalid referrer")
734+ then B(R, "updateReferrer: invalid referrer")
663735 else false)
664- then C(bz, 0, t, "updateReferrer: invalid fee")
736+ then I(bZ, 0, z, "updateReferrer: invalid fee")
665737 else false
666- if ((aN == aN))
667- then $Tuple2(ay(am, addressFromStringValue(L), bz), unit)
738+ if ((ba == ba))
739+ then $Tuple2(aE(as, addressFromStringValue(R), bZ), unit)
668740 else throw("Strict value is not equal to itself.")
669741 }
670742
671743
672744
673-@Callable(aL)
674-func updateBindingInfo (am,aP,bA,bB,bC,bD,bE,bF,by) = {
675- let aN = if (if (if (if (if (if (if (if (az(aL.caller))
676- then aC()
745+@Callable(aY)
746+func updateBindingInfo (as,bc,ca,cb,cc,cd,ce,cf,bY) = {
747+ let ba = if (if (if (if (if (if (if (if (aM(aY.caller))
748+ then aP()
677749 else false)
678- then v(aP, "updateBindingInfo: invalid asset contract")
750+ then B(bc, "updateBindingInfo: invalid asset contract")
679751 else false)
680- then C(am, 0, u, "updateBindingInfo: invalid executionChainId")
752+ then I(as, 0, A, "updateBindingInfo: invalid executionChainId")
681753 else false)
682- then C(bB, 0, u, "updateBindingInfo: invalid minAmount")
754+ then I(cb, 0, A, "updateBindingInfo: invalid minAmount")
683755 else false)
684- then C(bC, 0, u, "updateBindingInfo: invalid minFee")
756+ then I(cc, 0, A, "updateBindingInfo: invalid minFee")
685757 else false)
686- then C(bD, 0, u, "updateBindingInfo: invalid thresholdFee")
758+ then I(cd, 0, A, "updateBindingInfo: invalid thresholdFee")
687759 else false)
688- then C(bE, 0, u, "updateBindingInfo: invalid beforePercentFee")
760+ then I(ce, 0, A, "updateBindingInfo: invalid beforePercentFee")
689761 else false)
690- then C(bF, 0, u, "updateBindingInfo: invalid afterPercentFee")
762+ then I(cf, 0, A, "updateBindingInfo: invalid afterPercentFee")
691763 else false
692- if ((aN == aN))
764+ if ((ba == ba))
693765 then {
694- let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
695- if ((aW == aW))
766+ let bm = aU(invoke(addressFromStringValue(bc), t, nil, nil))
767+ if ((bm == bm))
696768 then {
697- let bg = $Tuple8(addressFromStringValue(aP), bA, bB, bC, bD, bE, bF, by)
698- $Tuple2(ao(am, aW, bg), unit)
769+ let bD = $Tuple8(addressFromStringValue(bc), ca, cb, cc, cd, ce, cf, bY)
770+ $Tuple2(au(as, bm, bD), unit)
699771 }
700772 else throw("Strict value is not equal to itself.")
701773 }
702774 else throw("Strict value is not equal to itself.")
703775 }
704776
705777
706778
707-@Callable(aL)
708-func pause () = {
709- let aN = if (if (aF(aL.caller))
710- then aC()
779+@Callable(aY)
780+func addCrosschainPoolContract (aJ,aL) = {
781+ let ba = if (if (if (aM(aY.caller))
782+ then aP()
711783 else false)
712- then aD()
784+ then B(aJ, "addCrosschainPoolContract: invalid crosschainPoolContract")
785+ else false)
786+ then B(aL, "addCrosschainPoolContract: invalid bridgeAssetContract")
713787 else false
714- if ((aN == aN))
715- then $Tuple2(U(true), unit)
788+ if ((ba == ba))
789+ then $Tuple2((aG((aF() :+ aJ)) ++ aK(addressFromStringValue(aJ), addressFromStringValue(aL))), unit)
716790 else throw("Strict value is not equal to itself.")
717791 }
718792
719793
720794
721-@Callable(aL)
722-func unpause () = {
723- let aN = if (if (aF(aL.caller))
724- then aC()
795+@Callable(aY)
796+func pause () = {
797+ let ba = if (if (aS(aY.caller))
798+ then aP()
725799 else false)
726- then aE()
800+ then aQ()
727801 else false
728- if ((aN == aN))
729- then $Tuple2(U(false), unit)
802+ if ((ba == ba))
803+ then $Tuple2(aa(true), unit)
730804 else throw("Strict value is not equal to itself.")
731805 }
732806
733807
734808
735-@Callable(aL)
736-func updatePauser (Y) = {
737- let aN = if (if (az(aL.caller))
738- then aC()
809+@Callable(aY)
810+func unpause () = {
811+ let ba = if (if (aS(aY.caller))
812+ then aP()
739813 else false)
740- then v(Y, "updatePauser: invalid pauser")
814+ then aR()
741815 else false
742- if ((aN == aN))
743- then $Tuple2(X(addressFromStringValue(Y)), unit)
816+ if ((ba == ba))
817+ then $Tuple2(aa(false), unit)
744818 else throw("Strict value is not equal to itself.")
745819 }
746820
747821
748822
749-@Callable(aL)
750-func setMultisig (ab) = {
751- let aN = if (az(aL.caller))
752- then v(ab, "setMultisig: invalid multisig")
823+@Callable(aY)
824+func updatePauser (ae) = {
825+ let ba = if (if (aM(aY.caller))
826+ then aP()
827+ else false)
828+ then B(ae, "updatePauser: invalid pauser")
753829 else false
754- if ((aN == aN))
755- then $Tuple2(aa(addressFromStringValue(ab)), unit)
830+ if ((ba == ba))
831+ then $Tuple2(ad(addressFromStringValue(ae)), unit)
756832 else throw("Strict value is not equal to itself.")
757833 }
758834
759835
760-@Verifier(bG)
761-func bH () = {
762- let y = getString(c)
763- if ($isInstanceOf(y, "String"))
836+
837+@Callable(aY)
838+func setMultisig (ah) = {
839+ let ba = if (aM(aY.caller))
840+ then B(ah, "setMultisig: invalid multisig")
841+ else false
842+ if ((ba == ba))
843+ then $Tuple2(ag(addressFromStringValue(ah)), unit)
844+ else throw("Strict value is not equal to itself.")
845+ }
846+
847+
848+@Verifier(cg)
849+func ch () = {
850+ let E = getString(c)
851+ if ($isInstanceOf(E, "String"))
764852 then {
765- let bI = y
766- valueOrElse(getBoolean(addressFromStringValue(bI), makeString([d, toString(this), toBase58String(bG.id)], a)), false)
853+ let ci = E
854+ valueOrElse(getBoolean(addressFromStringValue(ci), makeString([d, toString(this), toBase58String(cg.id)], a)), false)
767855 }
768- else sigVerify(bG.bodyBytes, bG.proofs[0], bG.senderPublicKey)
856+ else sigVerify(cg.bodyBytes, cg.proofs[0], cg.senderPublicKey)
769857 }
770858

github/deemru/w8io/169f3d6 
245.99 ms