tx · CYqqpf62NWrwDvH6LzYBmAiydaXNgaW1g8sZxWdzuTFn

3MpiUwTkYopBwQEjyTf8sqy7iWLNwyq9Md4:  -0.01800000 Waves

2024.12.09 16:59 [3407158] smart account 3MpiUwTkYopBwQEjyTf8sqy7iWLNwyq9Md4 > SELF 0.00000000 Waves

{ "type": 13, "id": "CYqqpf62NWrwDvH6LzYBmAiydaXNgaW1g8sZxWdzuTFn", "fee": 1800000, "feeAssetId": null, "timestamp": 1733752761399, "version": 2, "chainId": 84, "sender": "3MpiUwTkYopBwQEjyTf8sqy7iWLNwyq9Md4", "senderPublicKey": "9eCupW2UoCBhmiF1N9qWACCzkWT885DVzb65b8zxcSii", "proofs": [ "33WDepP6rkqbE7MBEEM8h4vTzZ5QqQfHMUFcQSAsdDwcdKxdMZGwZgynvN5MX2TzzvHq2tbRdd9c5eH7G9N2ww6p" ], "script": "base64:BwItCAISBQoDCAgIEgYKBAgICAgSBQoDCAgIEgQKAggEEgMKAQgSAwoBCBIDCgEIPwAJU0VQQVJBVE9SAgJfXwAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAAhLRVlfSU5JVAIESU5JVAANS0VZX1NFUVVFTkNFUgIJU0VRVUVOQ0VSABNLRVlfQUNDT1VOVF9TVE9SQUdFAg9BQ0NPVU5UX1NUT1JBR0UAEUtFWV9GRUVfUkVDSVBJRU5UAg1GRUVfUkVDSVBJRU5UAApLRVlfU1lNQk9MAgZTWU1CT0wAF0tFWV9PUkRFUl9GSUxMRURfQU1PVU5UAhNPUkRFUl9GSUxMRURfQU1PVU5UABZLRVlfUkVXQVJEX0RJU1RSSUJVVE9SAhJSRVdBUkRfRElTVFJJQlVUT1IAFkZVTkNfRVhURVJOQUxfVFJBTlNGRVICEGV4dGVybmFsVHJhbnNmZXIAEUZVTkNfQ0xBSU1fUkVXQVJEAgtjbGFpbVJld2FyZAALU1BPVF9XQUxMRVQCBFNQT1QAEE9SREVSX1RZUEVfTElNSVQAAQART1JERVJfVFlQRV9NQVJLRVQAAgAPT1JERVJfVkVSU0lPTl8xAAEADk9SREVSX1NJREVfQlVZAAEAD09SREVSX1NJREVfU0VMTAACAA5BTEdfVFlQRV9XQVZFUwABAAxBTEdfVFlQRV9FVk0AAgALWkVST19CSUdJTlQJALYCAQAAAApPTkVfQklHSU5UCQC2AgEAAQAKTVVMVElQTElFUgkAtgIBAIDC1y8AEUZFRV9NQVhfVE9MRVJBTkNFCQC2AgEAoI0GAAxXQVZFU19QUkVGSVgBBP///wEACkVWTV9QUkVGSVgBHBlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZToKMzIBEF92YWxpZGF0ZUFkZHJlc3MCCGFkZHJlc3NfBGVycl8EByRtYXRjaDAJAKYIAQUIYWRkcmVzc18DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAYJAAIBBQRlcnJfAQ9fdmFsaWRhdGVCaWdJbnQDBHZhbF8ObG93ZXJCb3VuZGFyeV8EZXJyXwMJAL8CAgUObG93ZXJCb3VuZGFyeV8FBHZhbF8JAAIBBQRlcnJfBgERX3ZhbGlkYXRlSW50RXF1YWwDBXZhbDFfBXZhbDJfBGVycl8DCQECIT0CBQV2YWwxXwUFdmFsMl8JAAIBBQRlcnJfBgEUX3ZhbGlkYXRlSW50Tm90RXF1YWwDBXZhbDFfBXZhbDJfBGVycl8DCQAAAgUFdmFsMV8FBXZhbDJfCQACAQUEZXJyXwYBD192YWxpZGF0ZVN0cmluZwIEdmFsXwRlcnJfAwMJAGcCAAAJALECAQUEdmFsXwYJAQhjb250YWlucwIFBHZhbF8FCVNFUEFSQVRPUgkAAgEFBGVycl8GARRfdmFsaWRhdGVTdHJpbmdFcXVhbAMFdmFsMV8FdmFsMl8EZXJyXwMJAQIhPQIFBXZhbDFfBQV2YWwyXwkAAgEFBGVycl8GAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBDV9sb2FkTXVsdGlzaWcABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ1fc2F2ZU11bHRpc2lnAQltdWx0aXNpZ18JAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX01VTFRJU0lHCQClCAEFCW11bHRpc2lnXwUDbmlsAQ5fbG9hZFNlcXVlbmNlcgAEByRtYXRjaDAJAKIIAQUNS0VZX1NFUVVFTkNFUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ5fc2F2ZVNlcXVlbmNlcgEKc2VxdWVuY2VyXwkAzAgCCQELU3RyaW5nRW50cnkCBQ1LRVlfU0VRVUVOQ0VSCQClCAEFCnNlcXVlbmNlcl8FA25pbAETX2xvYWRBY2NvdW50U3RvcmFnZQAEByRtYXRjaDAJAKIIAQUTS0VZX0FDQ09VTlRfU1RPUkFHRQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARNfc2F2ZUFjY291bnRTdG9yYWdlAQ9hY2NvdW50U3RvcmFnZV8JAMwIAgkBC1N0cmluZ0VudHJ5AgUTS0VZX0FDQ09VTlRfU1RPUkFHRQkApQgBBQ9hY2NvdW50U3RvcmFnZV8FA25pbAERX2xvYWRGZWVSZWNpcGllbnQABAckbWF0Y2gwCQCiCAEFEUtFWV9GRUVfUkVDSVBJRU5UAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAARFfc2F2ZUZlZVJlY2lwaWVudAENZmVlUmVjaXBpZW50XwkAzAgCCQELU3RyaW5nRW50cnkCBRFLRVlfRkVFX1JFQ0lQSUVOVAUNZmVlUmVjaXBpZW50XwUDbmlsARZfbG9hZFJld2FyZERpc3RyaWJ1dG9yAAQHJG1hdGNoMAkAoggBBRZLRVlfUkVXQVJEX0RJU1RSSUJVVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAARZfc2F2ZVJld2FyZERpc3RyaWJ1dG9yAQxkaXN0cmlidXRvcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUWS0VZX1JFV0FSRF9ESVNUUklCVVRPUgUMZGlzdHJpYnV0b3JfBQNuaWwBC19sb2FkU3ltYm9sAQdzeW1ib2xfBAckbWF0Y2gwCQCgCAEJALkJAgkAzAgCBQpLRVlfU1lNQk9MCQDMCAIFB3N5bWJvbF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQtfc2F2ZVN5bWJvbAIHc3ltYm9sXwR2YWxfCQDMCAIJAQxCb29sZWFuRW50cnkCCQC5CQIJAMwIAgUKS0VZX1NZTUJPTAkAzAgCBQdzeW1ib2xfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsARZfbG9hZE9yZGVyRmlsbGVkQW1vdW50AQpvcmRlckhhc2hfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBRdLRVlfT1JERVJfRklMTEVEX0FNT1VOVAkAzAgCCQDYBAEFCm9yZGVySGFzaF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkApwMBBQFhBQtaRVJPX0JJR0lOVAEWX3NhdmVPcmRlckZpbGxlZEFtb3VudAIKb3JkZXJIYXNoXwdhbW91bnRfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBRdLRVlfT1JERVJfRklMTEVEX0FNT1VOVAkAzAgCCQDYBAEFCm9yZGVySGFzaF8FA25pbAUJU0VQQVJBVE9SCQCmAwEFB2Ftb3VudF8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgESX3ZhbGlkYXRlU2VxdWVuY2VyAgZjYWxsZXIEZXJyXwMJAQIhPQIJAQ5fbG9hZFNlcXVlbmNlcgAFBmNhbGxlcgkAAgEFBGVycl8GARJfdmFsaWRhdGVPcmRlclR5cGUDBXR5cGVfCHZlcnNpb25fBGVycl8DAwkBAiE9AgUFdHlwZV8FEE9SREVSX1RZUEVfTElNSVQJAQIhPQIFBXR5cGVfBRFPUkRFUl9UWVBFX01BUktFVAcJAAIBBQRlcnJfAwkBAiE9AgUIdmVyc2lvbl8FD09SREVSX1ZFUlNJT05fMQkAAgEFBGVycl8GARRfdmFsaWRhdGVPcmRlclN5bWJvbAIHc3ltYm9sXwRlcnJfAwkBASEBCQELX2xvYWRTeW1ib2wBBQdzeW1ib2xfCQACAQUEZXJyXwYBEl92YWxpZGF0ZU9yZGVyU2lkZQIFc2lkZV8EZXJyXwMDCQECIT0CBQVzaWRlXwUOT1JERVJfU0lERV9CVVkJAQIhPQIFBXNpZGVfBQ9PUkRFUl9TSURFX1NFTEwHCQACAQUEZXJyXwYBFF92YWxpZGF0ZU9yZGVyUHJpY2VzBRBtYWtlck9yZGVyUHJpY2VfEHRha2VyT3JkZXJQcmljZV8PdGFrZXJPcmRlclNpZGVfD3Rha2VyT3JkZXJUeXBlXwRlcnJfBAZyZXN1bHQDCQAAAgUPdGFrZXJPcmRlclR5cGVfBRFPUkRFUl9UWVBFX01BUktFVAYDCQAAAgUPdGFrZXJPcmRlclNpZGVfBQ5PUkRFUl9TSURFX0JVWQkAwAICBRB0YWtlck9yZGVyUHJpY2VfBRBtYWtlck9yZGVyUHJpY2VfAwkAAAIFD3Rha2VyT3JkZXJTaWRlXwUPT1JERVJfU0lERV9TRUxMCQDAAgIFEG1ha2VyT3JkZXJQcmljZV8FEHRha2VyT3JkZXJQcmljZV8HAwkBASEBBQZyZXN1bHQJAAIBBQRlcnJfBgEYX3ZhbGlkYXRlU2lnbmF0dXJlRm9ybWF0AwpzaWduYXR1cmVfBGFsZ18EZXJyXwMJAAACBQRhbGdfBQ5BTEdfVFlQRV9XQVZFUwMJAQIhPQIJAMgBAQUKc2lnbmF0dXJlXwBACQACAQUEZXJyXwYDCQAAAgUEYWxnXwUMQUxHX1RZUEVfRVZNAwkBAiE9AgkAyAEBBQpzaWduYXR1cmVfAEEJAAIBBQRlcnJfBgkAAgEJAKwCAgUEZXJyXwIJOiBpbnYgYWxnAQ9fdmFsaWRhdGVXZWIzSWQDB3dlYjNJZF8EYWxnXwRlcnJfAwkAAAIFBGFsZ18FDkFMR19UWVBFX1dBVkVTAwkBAiE9AgkAyAEBBQd3ZWIzSWRfACAJAAIBBQRlcnJfBgMJAAACBQRhbGdfBQxBTEdfVFlQRV9FVk0DCQECIT0CCQDIAQEFB3dlYjNJZF8AFAkAAgEFBGVycl8GCQACAQkArAICBQRlcnJfAgk6IGludiBhbGcBF19jb252ZXJ0V2ViM0lkVG9BZGRyZXNzAgd3ZWIzSWRfBGFsZ18DCQAAAgUEYWxnXwUOQUxHX1RZUEVfV0FWRVMJAKUIAQkApwgBBQd3ZWIzSWRfAwkAAAIFBGFsZ18FDEFMR19UWVBFX0VWTQkArAICAgIweAkA3AQBBQd3ZWIzSWRfCQACAQIfX2NvbnZlcnRXZWIzSWRUb0FkZHJlc3M6IHJldmVydAEXX3ZhbGlkYXRlT3JkZXJTaWduYXR1cmUFCm9yZGVySGFzaF8Kc2lnbmF0dXJlXwd3ZWIzSWRfBGFsZ18EZXJyXwQGcmVzdWx0AwkAAAIFBGFsZ18FDkFMR19UWVBFX1dBVkVTBA5oYXNoV2l0aFByZWZpeAkAjBUBCQDLAQIFDFdBVkVTX1BSRUZJWAkAmwMBCQDYBAEFCm9yZGVySGFzaF8JAPQDAwUOaGFzaFdpdGhQcmVmaXgFCnNpZ25hdHVyZV8FB3dlYjNJZF8DCQAAAgUEYWxnXwUMQUxHX1RZUEVfRVZNBA5oYXNoV2l0aFByZWZpeAkAjBUBCQDLAQIFCkVWTV9QUkVGSVgFCm9yZGVySGFzaF8JAAACCQDMAQIJAIwVAQkAhAcCBQ5oYXNoV2l0aFByZWZpeAUKc2lnbmF0dXJlXwAUBQd3ZWIzSWRfCQACAQkArAICBQRlcnJfAgk6IGludiBhbGcDCQEBIQEFBnJlc3VsdAkAAgEFBGVycl8GARVfdmFsaWRhdGVGZWVUb2xlcmFuY2UDB2Ftb3VudF8EZmVlXwRlcnJfAwkAvwICBQRmZWVfCQC9AgQFB2Ftb3VudF8FEUZFRV9NQVhfVE9MRVJBTkNFBQpNVUxUSVBMSUVSBQRET1dOCQACAQUEZXJyXwYBC19wYXJzZU9yZGVyAgZvcmRlcl8EZXJyXwQGZmllbGRzCQC1CQIFBm9yZGVyXwUJU0VQQVJBVE9SBAR0eXBlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQZmaWVsZHMAAAkArAICBQRlcnJfAgo6IGludiB0eXBlBAd2ZXJzaW9uCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQZmaWVsZHMAAQkArAICBQRlcnJfAg06IGludiB2ZXJzaW9uBAZzeW1ib2wJAJEDAgUGZmllbGRzAAIEBHNpZGUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFBmZpZWxkcwADCQCsAgIFBGVycl8CCjogaW52IHNpZGUEAnRzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQkAkQMCBQZmaWVsZHMABAkArAICBQRlcnJfAgg6IGludiB0cwQGd2ViM0lkCQDZBAEJAJEDAgUGZmllbGRzAAUEA2FsZwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUGZmllbGRzAAYJAKwCAgUEZXJyXwIJOiBpbnYgYWxnBAlzaWduYXR1cmUJANkEAQkAkQMCBQZmaWVsZHMABwQLJHQwODUwMDk1MzgDAwkAAAIFBHR5cGUFEE9SREVSX1RZUEVfTElNSVQJAAACBQd2ZXJzaW9uBQ9PUkRFUl9WRVJTSU9OXzEHBAVwcmljZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEJAJEDAgUGZmllbGRzAAgJAKwCAgUEZXJyXwILOiBpbnYgcHJpY2UEBmFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEJAJEDAgUGZmllbGRzAAkJAKwCAgUEZXJyXwIMOiBpbnYgYW1vdW50BBFvcmRlckRldGFpbHNCeXRlcwkAywECCQCdAwEFBXByaWNlCQCdAwEFBmFtb3VudAkAlgoEBQVwcmljZQUGYW1vdW50BQtaRVJPX0JJR0lOVAURb3JkZXJEZXRhaWxzQnl0ZXMDAwkAAAIFBHR5cGUFEU9SREVSX1RZUEVfTUFSS0VUCQAAAgUHdmVyc2lvbgUPT1JERVJfVkVSU0lPTl8xBwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQkAkQMCBQZmaWVsZHMACAkArAICBQRlcnJfAgw6IGludiBhbW91bnQEDGlzQmFzZUFtb3VudAMJAAACCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQkAkQMCBQZmaWVsZHMACQkArAICBQRlcnJfAhI6IGludiBpc0Jhc2VBbW91bnQFC1pFUk9fQklHSU5UBwYDBQxpc0Jhc2VBbW91bnQJAJYKBAULWkVST19CSUdJTlQFBmFtb3VudAULWkVST19CSUdJTlQJAMsBAgkAnQMBBQZhbW91bnQJAJ0DAQUKT05FX0JJR0lOVAkAlgoEBQtaRVJPX0JJR0lOVAULWkVST19CSUdJTlQFBmFtb3VudAkAywECCQCdAwEFBmFtb3VudAkAnQMBBQtaRVJPX0JJR0lOVAkAAgEJAKwCAgUEZXJyXwIUOiBpbnYgdHlwZSAmIHZlcnNpb24EBXByaWNlCAULJHQwODUwMDk1MzgCXzEECmJhc2VBbW91bnQIBQskdDA4NTAwOTUzOAJfMgQLcXVvdGVBbW91bnQIBQskdDA4NTAwOTUzOAJfMwQRb3JkZXJEZXRhaWxzQnl0ZXMIBQskdDA4NTAwOTUzOAJfNAQKb3JkZXJCeXRlcwkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAJoDAQUEdHlwZQkAmgMBBQd2ZXJzaW9uCQCaAwEJALECAQUGc3ltYm9sCQCbAwEFBnN5bWJvbAkAmgMBBQRzaWRlCQCaAwEFAnRzBQZ3ZWIzSWQJAJoDAQUDYWxnBRFvcmRlckRldGFpbHNCeXRlcwQJb3JkZXJIYXNoCQCNFQEFCm9yZGVyQnl0ZXMEA2VycgMDAwMDAwMJARJfdmFsaWRhdGVPcmRlclR5cGUDBQR0eXBlBQd2ZXJzaW9uCQCsAgIFBGVycl8CEDogaW52IG9yZGVyIHR5cGUJARRfdmFsaWRhdGVPcmRlclN5bWJvbAIFBnN5bWJvbAkArAICBQRlcnJfAhI6IGludiBvcmRlciBzeW1ib2wHCQESX3ZhbGlkYXRlT3JkZXJTaWRlAgUEc2lkZQkArAICBQRlcnJfAhA6IGludiBvcmRlciBzaWRlBwkBD192YWxpZGF0ZVdlYjNJZAMFBndlYjNJZAUDYWxnCQCsAgIFBGVycl8CEjogaW52IG9yZGVyIHdlYjNJZAcJARhfdmFsaWRhdGVTaWduYXR1cmVGb3JtYXQDBQlzaWduYXR1cmUFA2FsZwkArAICBQRlcnJfAhA6IGludiBzaWcgZm9ybWF0BwkBD192YWxpZGF0ZUJpZ0ludAMFBXByaWNlBQtaRVJPX0JJR0lOVAkArAICBQRlcnJfAgs6IG5lZyBwcmljZQcJAQ9fdmFsaWRhdGVCaWdJbnQDBQpiYXNlQW1vdW50BQtaRVJPX0JJR0lOVAkArAICBQRlcnJfAhE6IG5lZyBiYXNlIGFtb3VudAcJAQ9fdmFsaWRhdGVCaWdJbnQDBQtxdW90ZUFtb3VudAULWkVST19CSUdJTlQJAKwCAgUEZXJyXwISOiBuZWcgcXVvdGUgYW1vdW50BwMJAAACBQNlcnIFA2VycgkAnAoKBQR0eXBlBQZzeW1ib2wFBHNpZGUFBXByaWNlBQpiYXNlQW1vdW50BQtxdW90ZUFtb3VudAUJb3JkZXJIYXNoBQZ3ZWIzSWQFA2FsZwUJc2lnbmF0dXJlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBwFpAQRpbml0AwpzZXF1ZW5jZXJfD2FjY291bnRTdG9yYWdlXw1mZWVSZWNpcGllbnRfBANlcnIDAwMDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQETX3doZW5Ob3RJbml0aWFsaXplZAAHCQEQX3doZW5NdWx0aXNpZ1NldAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCnNlcXVlbmNlcl8CF2luaXQ6IGludmFsaWQgc2VxdWVuY2VyBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ9hY2NvdW50U3RvcmFnZV8CHGluaXQ6IGludmFsaWQgYWNjb3VudFN0b3JhZ2UHCQEPX3ZhbGlkYXRlU3RyaW5nAgUNZmVlUmVjaXBpZW50XwIaaW5pdDogaW52YWxpZCBmZWVSZWNpcGllbnQHAwkAAAIFA2VycgUDZXJyCQCUCgIJAM4IAgkAzggCCQDOCAIJAQlfc2F2ZUluaXQBBgkBDl9zYXZlU2VxdWVuY2VyAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUKc2VxdWVuY2VyXwkBE19zYXZlQWNjb3VudFN0b3JhZ2UBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ9hY2NvdW50U3RvcmFnZV8JARFfc2F2ZUZlZVJlY2lwaWVudAEFDWZlZVJlY2lwaWVudF8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFdHJhZGUEC21ha2VyT3JkZXJfC3Rha2VyT3JkZXJfCGJhc2VGZWVfCXF1b3RlRmVlXwQNJHQwMTEzNTQxMTY4MwkBC19wYXJzZU9yZGVyAgULbWFrZXJPcmRlcl8CGnRyYWRlOiBpbnZhbGlkIG1ha2VyIG9yZGVyBA5tYWtlck9yZGVyVHlwZQgFDSR0MDExMzU0MTE2ODMCXzEEEG1ha2VyT3JkZXJTeW1ib2wIBQ0kdDAxMTM1NDExNjgzAl8yBA5tYWtlck9yZGVyU2lkZQgFDSR0MDExMzU0MTE2ODMCXzMED21ha2VyT3JkZXJQcmljZQgFDSR0MDExMzU0MTE2ODMCXzQEFG1ha2VyT3JkZXJCYXNlQW1vdW50CAUNJHQwMTEzNTQxMTY4MwJfNQQVbWFrZXJPcmRlclF1b3RlQW1vdW50CAUNJHQwMTEzNTQxMTY4MwJfNgQObWFrZXJPcmRlckhhc2gIBQ0kdDAxMTM1NDExNjgzAl83BBBtYWtlck9yZGVyV2ViM0lkCAUNJHQwMTEzNTQxMTY4MwJfOAQNbWFrZXJPcmRlckFsZwgFDSR0MDExMzU0MTE2ODMCXzkEE21ha2VyT3JkZXJTaWduYXR1cmUIBQ0kdDAxMTM1NDExNjgzA18xMAQNJHQwMTE2ODkxMjAxOAkBC19wYXJzZU9yZGVyAgULdGFrZXJPcmRlcl8CGnRyYWRlOiBpbnZhbGlkIHRha2VyIG9yZGVyBA50YWtlck9yZGVyVHlwZQgFDSR0MDExNjg5MTIwMTgCXzEEEHRha2VyT3JkZXJTeW1ib2wIBQ0kdDAxMTY4OTEyMDE4Al8yBA50YWtlck9yZGVyU2lkZQgFDSR0MDExNjg5MTIwMTgCXzMED3Rha2VyT3JkZXJQcmljZQgFDSR0MDExNjg5MTIwMTgCXzQEFHRha2VyT3JkZXJCYXNlQW1vdW50CAUNJHQwMTE2ODkxMjAxOAJfNQQVdGFrZXJPcmRlclF1b3RlQW1vdW50CAUNJHQwMTE2ODkxMjAxOAJfNgQOdGFrZXJPcmRlckhhc2gIBQ0kdDAxMTY4OTEyMDE4Al83BBB0YWtlck9yZGVyV2ViM0lkCAUNJHQwMTE2ODkxMjAxOAJfOAQNdGFrZXJPcmRlckFsZwgFDSR0MDExNjg5MTIwMTgCXzkEE3Rha2VyT3JkZXJTaWduYXR1cmUIBQ0kdDAxMTY4OTEyMDE4A18xMAQHYmFzZUZlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFCGJhc2VGZWVfAhZ0cmFkZTogYmFzZUZlZSBub3QgaW50BAhxdW90ZUZlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFCXF1b3RlRmVlXwIXdHJhZGU6IHF1b3RlRmVlIG5vdCBpbnQECnRyYWRlUHJpY2UFD21ha2VyT3JkZXJQcmljZQQWbWFrZXJPcmRlckZpbGxlZEFtb3VudAkBFl9sb2FkT3JkZXJGaWxsZWRBbW91bnQBBQ5tYWtlck9yZGVySGFzaAQYbWFrZXJPcmRlckJhc2VBbW91bnRGcmVlCQC4AgIFFG1ha2VyT3JkZXJCYXNlQW1vdW50BRZtYWtlck9yZGVyRmlsbGVkQW1vdW50BBZ0YWtlck9yZGVyRmlsbGVkQW1vdW50CQEWX2xvYWRPcmRlckZpbGxlZEFtb3VudAEFDnRha2VyT3JkZXJIYXNoBBh0YWtlck9yZGVyQmFzZUFtb3VudEZyZWUDCQAAAgUUdGFrZXJPcmRlckJhc2VBbW91bnQFC1pFUk9fQklHSU5UCQC9AgQJALgCAgUVdGFrZXJPcmRlclF1b3RlQW1vdW50BRZ0YWtlck9yZGVyRmlsbGVkQW1vdW50BQpNVUxUSVBMSUVSBQp0cmFkZVByaWNlBQRET1dOCQC4AgIFFHRha2VyT3JkZXJCYXNlQW1vdW50BRZ0YWtlck9yZGVyRmlsbGVkQW1vdW50BA90cmFkZUJhc2VBbW91bnQJAJkDAQkAzAgCBRhtYWtlck9yZGVyQmFzZUFtb3VudEZyZWUJAMwIAgUYdGFrZXJPcmRlckJhc2VBbW91bnRGcmVlBQNuaWwEEHRyYWRlUXVvdGVBbW91bnQJAL0CBAUPdHJhZGVCYXNlQW1vdW50BQp0cmFkZVByaWNlBQpNVUxUSVBMSUVSBQRET1dOBANlcnIDAwMDAwMDAwMJARJfdmFsaWRhdGVTZXF1ZW5jZXICCAUBaQZjYWxsZXICGHRyYWRlOiBpbnZhbGlkIHNlcXVlbmNlcgkBD192YWxpZGF0ZUJpZ0ludAMFD3RyYWRlQmFzZUFtb3VudAULWkVST19CSUdJTlQCF3RyYWRlOiBuZWcgdHJhZGUgYW1vdW50BwkBEV92YWxpZGF0ZUludEVxdWFsAwUObWFrZXJPcmRlclR5cGUFEE9SREVSX1RZUEVfTElNSVQCGXRyYWRlOiBtYWtlciBpcyBub3QgbGltaXQHCQEUX3ZhbGlkYXRlU3RyaW5nRXF1YWwDBRBtYWtlck9yZGVyU3ltYm9sBRB0YWtlck9yZGVyU3ltYm9sAhZ0cmFkZTogc3ltYm9sIG1pc21hdGNoBwkBFF92YWxpZGF0ZUludE5vdEVxdWFsAwUObWFrZXJPcmRlclNpZGUFDnRha2VyT3JkZXJTaWRlAhR0cmFkZTogc2lkZSBtaXNtYXRjaAcJARdfdmFsaWRhdGVPcmRlclNpZ25hdHVyZQUFDm1ha2VyT3JkZXJIYXNoBRNtYWtlck9yZGVyU2lnbmF0dXJlBRBtYWtlck9yZGVyV2ViM0lkBQ1tYWtlck9yZGVyQWxnAhh0cmFkZTogaW52YWxpZCBtYWtlciBzaWcHCQEXX3ZhbGlkYXRlT3JkZXJTaWduYXR1cmUFBQ50YWtlck9yZGVySGFzaAUTdGFrZXJPcmRlclNpZ25hdHVyZQUQdGFrZXJPcmRlcldlYjNJZAUNdGFrZXJPcmRlckFsZwIYdHJhZGU6IGludmFsaWQgdGFrZXIgc2lnBwkBFV92YWxpZGF0ZUZlZVRvbGVyYW5jZQMFD3RyYWRlQmFzZUFtb3VudAUHYmFzZUZlZQIYdHJhZGU6IGJhc2UgZmVlIHRvbyBtdWNoBwkBFV92YWxpZGF0ZUZlZVRvbGVyYW5jZQMFEHRyYWRlUXVvdGVBbW91bnQFCHF1b3RlRmVlAhl0cmFkZTogcXVvdGUgZmVlIHRvbyBtdWNoBwkBFF92YWxpZGF0ZU9yZGVyUHJpY2VzBQUPbWFrZXJPcmRlclByaWNlBQ90YWtlck9yZGVyUHJpY2UFDnRha2VyT3JkZXJTaWRlBQ50YWtlck9yZGVyVHlwZQIWdHJhZGU6IHByaWNlcyBtaXNtYXRjaAcDCQAAAgUDZXJyBQNlcnIEDG1ha2VyQWRkcmVzcwkBF19jb252ZXJ0V2ViM0lkVG9BZGRyZXNzAgUQbWFrZXJPcmRlcldlYjNJZAUNbWFrZXJPcmRlckFsZwQMdGFrZXJBZGRyZXNzCQEXX2NvbnZlcnRXZWIzSWRUb0FkZHJlc3MCBRB0YWtlck9yZGVyV2ViM0lkBQ10YWtlck9yZGVyQWxnBA0kdDAxNDE3NTE0NTk4AwkAAAIFDm1ha2VyT3JkZXJTaWRlBQ5PUkRFUl9TSURFX0JVWQkAlAoCBQxtYWtlckFkZHJlc3MFDHRha2VyQWRkcmVzcwkAlAoCBQx0YWtlckFkZHJlc3MFDG1ha2VyQWRkcmVzcwQFYnV5ZXIIBQ0kdDAxNDE3NTE0NTk4Al8xBAZzZWxsZXIIBQ0kdDAxNDE3NTE0NTk4Al8yBAZhc3NldHMJALUJAgUQbWFrZXJPcmRlclN5bWJvbAIBLQQJYmFzZUFzc2V0CQCRAwIFBmFzc2V0cwAABApxdW90ZUFzc2V0CQCRAwIFBmFzc2V0cwABBAxmZWVSZWNpcGllbnQJARFfbG9hZEZlZVJlY2lwaWVudAAEEXN0b3JhZ2VJbnZvY2F0aW9uCQD8BwQJARNfbG9hZEFjY291bnRTdG9yYWdlAAUWRlVOQ19FWFRFUk5BTF9UUkFOU0ZFUgkAzAgCBQtTUE9UX1dBTExFVAkAzAgCBQliYXNlQXNzZXQJAMwIAgUGc2VsbGVyCQDMCAIFBWJ1eWVyCQDMCAIJAKYDAQUPdHJhZGVCYXNlQW1vdW50CQDMCAIJAKYDAQUHYmFzZUZlZQkAzAgCBQxmZWVSZWNpcGllbnQFA25pbAUDbmlsAwkAAAIFEXN0b3JhZ2VJbnZvY2F0aW9uBRFzdG9yYWdlSW52b2NhdGlvbgQSc3RvcmFnZUludm9jYXRpb24xCQD8BwQJARNfbG9hZEFjY291bnRTdG9yYWdlAAUWRlVOQ19FWFRFUk5BTF9UUkFOU0ZFUgkAzAgCBQtTUE9UX1dBTExFVAkAzAgCBQpxdW90ZUFzc2V0CQDMCAIFBWJ1eWVyCQDMCAIFBnNlbGxlcgkAzAgCCQCmAwEFEHRyYWRlUXVvdGVBbW91bnQJAMwIAgkApgMBBQhxdW90ZUZlZQkAzAgCBQxmZWVSZWNpcGllbnQFA25pbAUDbmlsAwkAAAIFEnN0b3JhZ2VJbnZvY2F0aW9uMQUSc3RvcmFnZUludm9jYXRpb24xBBluZXdNYWtlck9yZGVyRmlsbGVkQW1vdW50CQC3AgIFFm1ha2VyT3JkZXJGaWxsZWRBbW91bnQFD3RyYWRlQmFzZUFtb3VudAQZbmV3VGFrZXJPcmRlckZpbGxlZEFtb3VudAMJAAACBRR0YWtlck9yZGVyQmFzZUFtb3VudAULWkVST19CSUdJTlQJALcCAgUWdGFrZXJPcmRlckZpbGxlZEFtb3VudAUQdHJhZGVRdW90ZUFtb3VudAkAtwICBRZ0YWtlck9yZGVyRmlsbGVkQW1vdW50BQ90cmFkZUJhc2VBbW91bnQJAJQKAgkAzggCCQEWX3NhdmVPcmRlckZpbGxlZEFtb3VudAIFDm1ha2VyT3JkZXJIYXNoBRluZXdNYWtlck9yZGVyRmlsbGVkQW1vdW50CQEWX3NhdmVPcmRlckZpbGxlZEFtb3VudAIFDnRha2VyT3JkZXJIYXNoBRluZXdUYWtlck9yZGVyRmlsbGVkQW1vdW50BQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC2NsYWltUmV3YXJkAwV1c2VyXwljdXJyZW5jeV8HYW1vdW50XwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQUHYW1vdW50XwIbY2xhaW1SZXdhcmQ6IGFtb3VudCBub3QgaW50BANlcnIDAwMJARJfdmFsaWRhdGVTZXF1ZW5jZXICCAUBaQZjYWxsZXICHmNsYWltUmV3YXJkOiBpbnZhbGlkIHNlcXVlbmNlcgkBD192YWxpZGF0ZVN0cmluZwIFBXVzZXJfAhljbGFpbVJld2FyZDogaW52YWxpZCB1c2VyBwkBD192YWxpZGF0ZVN0cmluZwIFCWN1cnJlbmN5XwIdY2xhaW1SZXdhcmQ6IGludmFsaWQgY3VycmVuY3kHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIXY2xhaW1SZXdhcmQ6IG5lZyBhbW91bnQHAwkAAAIFA2VycgUDZXJyBBFzdG9yYWdlSW52b2NhdGlvbgkA/AcECQETX2xvYWRBY2NvdW50U3RvcmFnZQAFEUZVTkNfQ0xBSU1fUkVXQVJECQDMCAIJARZfbG9hZFJld2FyZERpc3RyaWJ1dG9yAAkAzAgCBQV1c2VyXwkAzAgCBQljdXJyZW5jeV8JAMwIAgUHYW1vdW50XwUDbmlsBQNuaWwDCQAAAgURc3RvcmFnZUludm9jYXRpb24FEXN0b3JhZ2VJbnZvY2F0aW9uCQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQx1cGRhdGVTeW1ib2wCB3N5bWJvbF8KYWxsb3dhbmNlXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEPX3ZhbGlkYXRlU3RyaW5nAgUHc3ltYm9sXwIcdXBkYXRlU3ltYm9sOiBpbnZhbGlkIHN5bWJvbAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBC19zYXZlU3ltYm9sAgUHc3ltYm9sXwUKYWxsb3dhbmNlXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJ1cGRhdGVGZWVSZWNpcGllbnQBDWZlZVJlY2lwaWVudF8EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQ1mZWVSZWNpcGllbnRfAih1cGRhdGVGZWVSZWNpcGllbnQ6IGludmFsaWQgZmVlUmVjaXBpZW50BwMJAAACBQNlcnIFA2VycgkAlAoCCQERX3NhdmVGZWVSZWNpcGllbnQBBQ1mZWVSZWNpcGllbnRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF3VwZGF0ZVJld2FyZERpc3RyaWJ1dG9yARJyZXdhcmREaXN0cmlidXRvcl8EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ9fdmFsaWRhdGVTdHJpbmcCBRJyZXdhcmREaXN0cmlidXRvcl8CMnVwZGF0ZVJld2FyZERpc3RyaWJ1dG9yOiBpbnZhbGlkIHJld2FyZERpc3RyaWJ1dG9yBwMJAAACBQNlcnIFA2VycgkAlAoCCQEWX3NhdmVSZXdhcmREaXN0cmlidXRvcgEFEnJld2FyZERpc3RyaWJ1dG9yXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQtzZXRNdWx0aXNpZwEJbXVsdGlzaWdfBANlcnIDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfdmFsaWRhdGVBZGRyZXNzAgUJbXVsdGlzaWdfAh1zZXRNdWx0aXNpZzogaW52YWxpZCBtdWx0aXNpZwcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBDV9zYXZlTXVsdGlzaWcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQltdWx0aXNpZ18FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcECG11bHRpc2lnBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG11bHRpc2lnCQC5CQIJAMwIAgUKS0VZX1NUQVRVUwkAzAgCCQClCAEFBHRoaXMJAMwIAgkA2AQBCAUCdHgCaWQFA25pbAUJU0VQQVJBVE9SBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleb6rTx4=", "height": 3407158, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FQi5iBpKorRvf6vjMgJwf5hwCYC9sPPCHSY6tXNi5q2T Next: 3uJdmYkbWwVbFaNh4BJLywXMi3vfWU4DmTqXD2xJPkvD Diff:
OldNewDifferences
4949
5050 let x = toBigInt(100000)
5151
52-let y = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
52+let y = base58'7YXq4t'
5353
54-func z (A,B) = {
55- let C = addressFromString(A)
56- if ($isInstanceOf(C, "Address"))
54+let z = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
55+
56+func A (B,C) = {
57+ let D = addressFromString(B)
58+ if ($isInstanceOf(D, "Address"))
5759 then {
58- let D = C
60+ let E = D
5961 true
6062 }
61- else throw(B)
63+ else throw(C)
6264 }
6365
6466
65-func E (F,G,B) = if ((G > F))
66- then throw(B)
67+func F (G,H,C) = if ((H > G))
68+ then throw(C)
6769 else true
6870
6971
70-func H (I,J,B) = if ((I != J))
71- then throw(B)
72+func I (J,K,C) = if ((J != K))
73+ then throw(C)
7274 else true
7375
7476
75-func K (I,J,B) = if ((I == J))
76- then throw(B)
77+func L (J,K,C) = if ((J == K))
78+ then throw(C)
7779 else true
7880
7981
80-func L (F,B) = if (if ((0 >= size(F)))
82+func M (G,C) = if (if ((0 >= size(G)))
8183 then true
82- else contains(F, a))
83- then throw(B)
84+ else contains(G, a))
85+ then throw(C)
8486 else true
8587
8688
87-func M (I,J,B) = if ((I != J))
88- then throw(B)
89+func N (J,K,C) = if ((J != K))
90+ then throw(C)
8991 else true
9092
9193
92-func N () = {
93- let C = getBoolean(d)
94- if ($isInstanceOf(C, "Boolean"))
94+func O () = {
95+ let D = getBoolean(d)
96+ if ($isInstanceOf(D, "Boolean"))
9597 then {
96- let D = C
97- D
98+ let E = D
99+ E
98100 }
99101 else false
100102 }
101103
102104
103-func O (P) = [BooleanEntry(d, P)]
105+func P (Q) = [BooleanEntry(d, Q)]
104106
105107
106-func Q () = {
107- let C = getString(b)
108- if ($isInstanceOf(C, "String"))
108+func R () = {
109+ let D = getString(b)
110+ if ($isInstanceOf(D, "String"))
109111 then {
110- let D = C
111- addressFromStringValue(D)
112+ let E = D
113+ addressFromStringValue(E)
112114 }
113115 else Address(base58'')
114116 }
115117
116118
117-func R (S) = [StringEntry(b, toString(S))]
119+func S (T) = [StringEntry(b, toString(T))]
118120
119121
120-func T () = {
121- let C = getString(e)
122- if ($isInstanceOf(C, "String"))
122+func U () = {
123+ let D = getString(e)
124+ if ($isInstanceOf(D, "String"))
123125 then {
124- let D = C
125- addressFromStringValue(D)
126+ let E = D
127+ addressFromStringValue(E)
126128 }
127129 else Address(base58'')
128130 }
129131
130132
131-func U (V) = [StringEntry(e, toString(V))]
133+func V (W) = [StringEntry(e, toString(W))]
132134
133135
134-func W () = {
135- let C = getString(f)
136- if ($isInstanceOf(C, "String"))
136+func X () = {
137+ let D = getString(f)
138+ if ($isInstanceOf(D, "String"))
137139 then {
138- let D = C
139- addressFromStringValue(D)
140+ let E = D
141+ addressFromStringValue(E)
140142 }
141143 else Address(base58'')
142144 }
143145
144146
145-func X (Y) = [StringEntry(f, toString(Y))]
147+func Y (Z) = [StringEntry(f, toString(Z))]
146148
147149
148-func Z () = {
149- let C = getString(g)
150- if ($isInstanceOf(C, "String"))
150+func aa () = {
151+ let D = getString(g)
152+ if ($isInstanceOf(D, "String"))
151153 then {
152- let D = C
153- D
154+ let E = D
155+ E
154156 }
155157 else ""
156158 }
157159
158160
159-func aa (ab) = [StringEntry(g, ab)]
161+func ab (ac) = [StringEntry(g, ac)]
160162
161163
162-func ac () = {
163- let C = getString(j)
164- if ($isInstanceOf(C, "String"))
164+func ad () = {
165+ let D = getString(j)
166+ if ($isInstanceOf(D, "String"))
165167 then {
166- let D = C
167- D
168+ let E = D
169+ E
168170 }
169171 else ""
170172 }
171173
172174
173-func ad (ae) = [StringEntry(j, ae)]
175+func ae (af) = [StringEntry(j, af)]
174176
175177
176-func af (ag) = {
177- let C = getBoolean(makeString([h, ag], a))
178- if ($isInstanceOf(C, "Boolean"))
178+func ag (ah) = {
179+ let D = getBoolean(makeString([h, ah], a))
180+ if ($isInstanceOf(D, "Boolean"))
179181 then {
180- let D = C
181- D
182+ let E = D
183+ E
182184 }
183185 else false
184186 }
185187
186188
187-func ah (ag,F) = [BooleanEntry(makeString([h, ag], a), F)]
189+func ai (ah,G) = [BooleanEntry(makeString([h, ah], a), G)]
188190
189191
190-func ai (aj) = {
191- let C = getString(makeString([i, toBase58String(aj)], a))
192- if ($isInstanceOf(C, "String"))
192+func aj (ak) = {
193+ let D = getString(makeString([i, toBase58String(ak)], a))
194+ if ($isInstanceOf(D, "String"))
193195 then {
194- let D = C
195- parseBigIntValue(D)
196+ let E = D
197+ parseBigIntValue(E)
196198 }
197199 else u
198200 }
199201
200202
201-func ak (aj,al) = [StringEntry(makeString([i, toBase58String(aj)], a), toString(al))]
203+func al (ak,am) = [StringEntry(makeString([i, toBase58String(ak)], a), toString(am))]
202204
203205
204-func am (an) = if ((an != this))
206+func an (ao) = if ((ao != this))
205207 then throw("_onlyThisContract: revert")
206208 else true
207209
208210
209-func ao () = if ((Q() == Address(base58'')))
211+func ap () = if ((R() == Address(base58'')))
210212 then throw("_whenMultisigSet: revert")
211213 else true
212214
213215
214-func ap () = if (N())
216+func aq () = if (O())
215217 then throw("_whenNotInitialized: revert")
216218 else true
217219
218220
219-func aq () = if (!(N()))
221+func ar () = if (!(O()))
220222 then throw("_whenInitialized: revert")
221223 else true
222224
223225
224-func ar (as,B) = if ((T() != as))
225- then throw(B)
226+func as (at,C) = if ((U() != at))
227+ then throw(C)
226228 else true
227229
228230
229-func at (au,av,B) = if (if ((au != n))
230- then (au != o)
231+func au (av,aw,C) = if (if ((av != n))
232+ then (av != o)
231233 else false)
232- then throw(B)
233- else if ((av != p))
234- then throw(B)
234+ then throw(C)
235+ else if ((aw != p))
236+ then throw(C)
235237 else true
236238
237239
238-func aw (ag,B) = if (!(af(ag)))
239- then throw(B)
240+func ax (ah,C) = if (!(ag(ah)))
241+ then throw(C)
240242 else true
241243
242244
243-func ax (ay,B) = if (if ((ay != q))
244- then (ay != r)
245+func ay (az,C) = if (if ((az != q))
246+ then (az != r)
245247 else false)
246- then throw(B)
248+ then throw(C)
247249 else true
248250
249251
250-func az (aA,aB,aC,aD,B) = {
251- let aE = if ((aD == o))
252+func aA (aB,aC,aD,aE,C) = {
253+ let aF = if ((aE == o))
252254 then true
253- else if ((aC == q))
254- then (aB >= aA)
255- else if ((aC == r))
256- then (aA >= aB)
255+ else if ((aD == q))
256+ then (aC >= aB)
257+ else if ((aD == r))
258+ then (aB >= aC)
257259 else false
258- if (!(aE))
259- then throw(B)
260+ if (!(aF))
261+ then throw(C)
260262 else true
261263 }
262264
263265
264-func aF (aG,aH,B) = if ((aH == s))
265- then if ((size(aG) != 64))
266- then throw(B)
266+func aG (aH,aI,C) = if ((aI == s))
267+ then if ((size(aH) != 64))
268+ then throw(C)
267269 else true
268- else if ((aH == t))
269- then if ((size(aG) != 65))
270- then throw(B)
270+ else if ((aI == t))
271+ then if ((size(aH) != 65))
272+ then throw(C)
271273 else true
272- else throw((B + ": inv alg"))
274+ else throw((C + ": inv alg"))
273275
274276
275-func aI (aJ,aH,B) = if ((aH == s))
276- then if ((size(aJ) != 32))
277- then throw(B)
277+func aJ (aK,aI,C) = if ((aI == s))
278+ then if ((size(aK) != 32))
279+ then throw(C)
278280 else true
279- else if ((aH == t))
280- then if ((size(aJ) != 20))
281- then throw(B)
281+ else if ((aI == t))
282+ then if ((size(aK) != 20))
283+ then throw(C)
282284 else true
283- else throw((B + ": inv alg"))
285+ else throw((C + ": inv alg"))
284286
285287
286-func aK (aJ,aH) = if ((aH == s))
287- then toString(addressFromPublicKey(aJ))
288- else if ((aH == t))
289- then ("0x" + toBase16String(aJ))
288+func aL (aK,aI) = if ((aI == s))
289+ then toString(addressFromPublicKey(aK))
290+ else if ((aI == t))
291+ then ("0x" + toBase16String(aK))
290292 else throw("_convertWeb3IdToAddress: revert")
291293
292294
293-func aL (aj,aG,aJ,aH,B) = {
294- let aE = if ((aH == s))
295- then sigVerify(aj, aG, aJ)
296- else if ((aH == t))
295+func aM (ak,aH,aK,aI,C) = {
296+ let aF = if ((aI == s))
297+ then {
298+ let aN = keccak256_16Kb((y + toBytes(toBase58String(ak))))
299+ sigVerify(aN, aH, aK)
300+ }
301+ else if ((aI == t))
297302 then {
298- let aM = keccak256_16Kb((y + aj))
299- (takeRight(keccak256_16Kb(ecrecover(aM, aG)), 20) == aJ)
303+ let aN = keccak256_16Kb((z + ak))
304+ (takeRight(keccak256_16Kb(ecrecover(aN, aH)), 20) == aK)
300305 }
301- else throw((B + ": inv alg"))
302- if (!(aE))
303- then throw(B)
306+ else throw((C + ": inv alg"))
307+ if (!(aF))
308+ then throw(C)
304309 else true
305310 }
306311
307312
308-func aN (al,aO,B) = if ((aO > fraction(al, x, w, DOWN)))
309- then throw(B)
313+func aO (am,aP,C) = if ((aP > fraction(am, x, w, DOWN)))
314+ then throw(C)
310315 else true
311316
312317
313-func aP (aQ,B) = {
314- let aR = split(aQ, a)
315- let aS = valueOrErrorMessage(parseInt(aR[0]), (B + ": inv type"))
316- let aT = valueOrErrorMessage(parseInt(aR[1]), (B + ": inv version"))
317- let aU = aR[2]
318- let aV = valueOrErrorMessage(parseInt(aR[3]), (B + ": inv side"))
319- let aW = valueOrErrorMessage(parseInt(aR[4]), (B + ": inv ts"))
320- let aX = fromBase58String(aR[5])
321- let aY = valueOrErrorMessage(parseInt(aR[6]), (B + ": inv alg"))
322- let aZ = fromBase58String(aR[7])
323- let ba = if (if ((aS == n))
324- then (aT == p)
318+func aQ (aR,C) = {
319+ let aS = split(aR, a)
320+ let aT = valueOrErrorMessage(parseInt(aS[0]), (C + ": inv type"))
321+ let aU = valueOrErrorMessage(parseInt(aS[1]), (C + ": inv version"))
322+ let aV = aS[2]
323+ let aW = valueOrErrorMessage(parseInt(aS[3]), (C + ": inv side"))
324+ let aX = valueOrErrorMessage(parseInt(aS[4]), (C + ": inv ts"))
325+ let aY = fromBase58String(aS[5])
326+ let aZ = valueOrErrorMessage(parseInt(aS[6]), (C + ": inv alg"))
327+ let ba = fromBase58String(aS[7])
328+ let bb = if (if ((aT == n))
329+ then (aU == p)
325330 else false)
326331 then {
327- let bb = valueOrErrorMessage(parseBigInt(aR[8]), (B + ": inv price"))
328- let bc = valueOrErrorMessage(parseBigInt(aR[9]), (B + ": inv amount"))
329- let bd = (toBytes(bb) + toBytes(bc))
330- $Tuple4(bb, bc, u, bd)
332+ let bc = valueOrErrorMessage(parseBigInt(aS[8]), (C + ": inv price"))
333+ let bd = valueOrErrorMessage(parseBigInt(aS[9]), (C + ": inv amount"))
334+ let be = (toBytes(bc) + toBytes(bd))
335+ $Tuple4(bc, bd, u, be)
331336 }
332- else if (if ((aS == o))
333- then (aT == p)
337+ else if (if ((aT == o))
338+ then (aU == p)
334339 else false)
335340 then {
336- let bc = valueOrErrorMessage(parseBigInt(aR[8]), (B + ": inv amount"))
337- let be = if ((valueOrErrorMessage(parseBigInt(aR[9]), (B + ": inv isBaseAmount")) == u))
341+ let bd = valueOrErrorMessage(parseBigInt(aS[8]), (C + ": inv amount"))
342+ let bf = if ((valueOrErrorMessage(parseBigInt(aS[9]), (C + ": inv isBaseAmount")) == u))
338343 then false
339344 else true
340- if (be)
341- then $Tuple4(u, bc, u, (toBytes(bc) + toBytes(v)))
342- else $Tuple4(u, u, bc, (toBytes(bc) + toBytes(u)))
345+ if (bf)
346+ then $Tuple4(u, bd, u, (toBytes(bd) + toBytes(v)))
347+ else $Tuple4(u, u, bd, (toBytes(bd) + toBytes(u)))
343348 }
344- else throw((B + ": inv type & version"))
345- let bb = ba._1
346- let bf = ba._2
347- let bg = ba._3
348- let bd = ba._4
349- let bh = ((((((((toBytes(aS) + toBytes(aT)) + toBytes(size(aU))) + toBytes(aU)) + toBytes(aV)) + toBytes(aW)) + aX) + toBytes(aY)) + bd)
350- let bi = keccak256_32Kb(bh)
351- let bj = if (if (if (if (if (if (if (at(aS, aT, (B + ": inv order type")))
352- then aw(aU, (B + ": inv order symbol"))
349+ else throw((C + ": inv type & version"))
350+ let bc = bb._1
351+ let bg = bb._2
352+ let bh = bb._3
353+ let be = bb._4
354+ let bi = ((((((((toBytes(aT) + toBytes(aU)) + toBytes(size(aV))) + toBytes(aV)) + toBytes(aW)) + toBytes(aX)) + aY) + toBytes(aZ)) + be)
355+ let bj = keccak256_32Kb(bi)
356+ let bk = if (if (if (if (if (if (if (au(aT, aU, (C + ": inv order type")))
357+ then ax(aV, (C + ": inv order symbol"))
353358 else false)
354- then ax(aV, (B + ": inv order side"))
359+ then ay(aW, (C + ": inv order side"))
355360 else false)
356- then aI(aX, aY, (B + ": inv order web3Id"))
361+ then aJ(aY, aZ, (C + ": inv order web3Id"))
357362 else false)
358- then aF(aZ, aY, (B + ": inv sig format"))
363+ then aG(ba, aZ, (C + ": inv sig format"))
359364 else false)
360- then E(bb, u, (B + ": neg price"))
365+ then F(bc, u, (C + ": neg price"))
361366 else false)
362- then E(bf, u, (B + ": neg base amount"))
367+ then F(bg, u, (C + ": neg base amount"))
363368 else false)
364- then E(bg, u, (B + ": neg quote amount"))
369+ then F(bh, u, (C + ": neg quote amount"))
365370 else false
366- if ((bj == bj))
367- then $Tuple10(aS, aU, aV, bb, bf, bg, bi, aX, aY, aZ)
371+ if ((bk == bk))
372+ then $Tuple10(aT, aV, aW, bc, bg, bh, bj, aY, aZ, ba)
368373 else throw("Strict value is not equal to itself.")
369374 }
370375
371376
372-@Callable(bk)
373-func init (V,Y,ab) = {
374- let bj = if (if (if (if (if (am(bk.caller))
377+@Callable(bl)
378+func init (W,Z,ac) = {
379+ let bk = if (if (if (if (if (an(bl.caller))
380+ then aq()
381+ else false)
375382 then ap()
376383 else false)
377- then ao()
384+ then A(W, "init: invalid sequencer")
378385 else false)
379- then z(V, "init: invalid sequencer")
386+ then A(Z, "init: invalid accountStorage")
380387 else false)
381- then z(Y, "init: invalid accountStorage")
382- else false)
383- then L(ab, "init: invalid feeRecipient")
388+ then M(ac, "init: invalid feeRecipient")
384389 else false
385- if ((bj == bj))
386- then $Tuple2((((O(true) ++ U(addressFromStringValue(V))) ++ X(addressFromStringValue(Y))) ++ aa(ab)), unit)
390+ if ((bk == bk))
391+ then $Tuple2((((P(true) ++ V(addressFromStringValue(W))) ++ Y(addressFromStringValue(Z))) ++ ab(ac)), unit)
387392 else throw("Strict value is not equal to itself.")
388393 }
389394
390395
391396
392-@Callable(bk)
393-func trade (bl,bm,bn,bo) = {
394- let bp = aP(bl, "trade: invalid maker order")
395- let bq = bp._1
396- let br = bp._2
397- let bs = bp._3
398- let bt = bp._4
399- let bu = bp._5
400- let bv = bp._6
401- let bw = bp._7
402- let bx = bp._8
403- let by = bp._9
404- let bz = bp._10
405- let bA = aP(bm, "trade: invalid taker order")
406- let bB = bA._1
407- let bC = bA._2
408- let bD = bA._3
409- let bE = bA._4
410- let bF = bA._5
411- let bG = bA._6
412- let bH = bA._7
413- let bI = bA._8
414- let bJ = bA._9
415- let bK = bA._10
416- let bL = valueOrErrorMessage(parseBigInt(bn), "trade: baseFee not int")
417- let bM = valueOrErrorMessage(parseBigInt(bo), "trade: quoteFee not int")
418- let bN = bt
419- let bO = ai(bw)
420- let bP = (bu - bO)
421- let bQ = ai(bH)
422- let bR = if ((bF == u))
423- then fraction((bG - bQ), w, bN, DOWN)
424- else (bF - bQ)
425- let bS = min([bP, bR])
426- let bT = fraction(bS, bN, w, DOWN)
427- let bj = if (if (if (if (if (if (if (if (if (ar(bk.caller, "trade: invalid sequencer"))
428- then E(bS, u, "trade: neg trade amount")
397+@Callable(bl)
398+func trade (bm,bn,bo,bp) = {
399+ let bq = aQ(bm, "trade: invalid maker order")
400+ let br = bq._1
401+ let bs = bq._2
402+ let bt = bq._3
403+ let bu = bq._4
404+ let bv = bq._5
405+ let bw = bq._6
406+ let bx = bq._7
407+ let by = bq._8
408+ let bz = bq._9
409+ let bA = bq._10
410+ let bB = aQ(bn, "trade: invalid taker order")
411+ let bC = bB._1
412+ let bD = bB._2
413+ let bE = bB._3
414+ let bF = bB._4
415+ let bG = bB._5
416+ let bH = bB._6
417+ let bI = bB._7
418+ let bJ = bB._8
419+ let bK = bB._9
420+ let bL = bB._10
421+ let bM = valueOrErrorMessage(parseBigInt(bo), "trade: baseFee not int")
422+ let bN = valueOrErrorMessage(parseBigInt(bp), "trade: quoteFee not int")
423+ let bO = bu
424+ let bP = aj(bx)
425+ let bQ = (bv - bP)
426+ let bR = aj(bI)
427+ let bS = if ((bG == u))
428+ then fraction((bH - bR), w, bO, DOWN)
429+ else (bG - bR)
430+ let bT = min([bQ, bS])
431+ let bU = fraction(bT, bO, w, DOWN)
432+ let bk = if (if (if (if (if (if (if (if (if (as(bl.caller, "trade: invalid sequencer"))
433+ then F(bT, u, "trade: neg trade amount")
429434 else false)
430- then H(bq, n, "trade: maker is not limit")
435+ then I(br, n, "trade: maker is not limit")
431436 else false)
432- then M(br, bC, "trade: symbol mismatch")
437+ then N(bs, bD, "trade: symbol mismatch")
433438 else false)
434- then K(bs, bD, "trade: side mismatch")
439+ then L(bt, bE, "trade: side mismatch")
435440 else false)
436- then aL(bw, bz, bx, by, "trade: invalid maker sig")
441+ then aM(bx, bA, by, bz, "trade: invalid maker sig")
437442 else false)
438- then aL(bH, bK, bI, bJ, "trade: invalid taker sig")
443+ then aM(bI, bL, bJ, bK, "trade: invalid taker sig")
439444 else false)
440- then aN(bS, bL, "trade: base fee too much")
445+ then aO(bT, bM, "trade: base fee too much")
441446 else false)
442- then aN(bT, bM, "trade: quote fee too much")
447+ then aO(bU, bN, "trade: quote fee too much")
443448 else false)
444- then az(bt, bE, bD, bB, "trade: prices mismatch")
449+ then aA(bu, bF, bE, bC, "trade: prices mismatch")
445450 else false
446- if ((bj == bj))
451+ if ((bk == bk))
447452 then {
448- let bU = aK(bx, by)
449- let bV = aK(bI, bJ)
450- let bW = if ((bs == q))
451- then $Tuple2(bU, bV)
452- else $Tuple2(bV, bU)
453- let bX = bW._1
454- let bY = bW._2
455- let bZ = split(br, "-")
456- let ca = bZ[0]
457- let cb = bZ[1]
458- let cc = Z()
459- let cd = invoke(W(), k, [m, ca, bY, bX, toString(bS), toString(bL), cc], nil)
460- if ((cd == cd))
453+ let bV = aL(by, bz)
454+ let bW = aL(bJ, bK)
455+ let bX = if ((bt == q))
456+ then $Tuple2(bV, bW)
457+ else $Tuple2(bW, bV)
458+ let bY = bX._1
459+ let bZ = bX._2
460+ let ca = split(bs, "-")
461+ let cb = ca[0]
462+ let cc = ca[1]
463+ let cd = aa()
464+ let ce = invoke(X(), k, [m, cb, bZ, bY, toString(bT), toString(bM), cd], nil)
465+ if ((ce == ce))
461466 then {
462- let ce = invoke(W(), k, [m, cb, bX, bY, toString(bT), toString(bM), cc], nil)
463- if ((ce == ce))
467+ let cf = invoke(X(), k, [m, cc, bY, bZ, toString(bU), toString(bN), cd], nil)
468+ if ((cf == cf))
464469 then {
465- let cf = (bO + bS)
466- let cg = if ((bF == u))
467- then (bQ + bT)
468- else (bQ + bS)
469- $Tuple2((ak(bw, cf) ++ ak(bH, cg)), unit)
470+ let cg = (bP + bT)
471+ let ch = if ((bG == u))
472+ then (bR + bU)
473+ else (bR + bT)
474+ $Tuple2((al(bx, cg) ++ al(bI, ch)), unit)
470475 }
471476 else throw("Strict value is not equal to itself.")
472477 }
477482
478483
479484
480-@Callable(bk)
481-func claimReward (ch,ci,al) = {
482- let bc = valueOrErrorMessage(parseBigInt(al), "claimReward: amount not int")
483- let bj = if (if (if (ar(bk.caller, "claimReward: invalid sequencer"))
484- then L(ch, "claimReward: invalid user")
485+@Callable(bl)
486+func claimReward (ci,cj,am) = {
487+ let bd = valueOrErrorMessage(parseBigInt(am), "claimReward: amount not int")
488+ let bk = if (if (if (as(bl.caller, "claimReward: invalid sequencer"))
489+ then M(ci, "claimReward: invalid user")
485490 else false)
486- then L(ci, "claimReward: invalid currency")
491+ then M(cj, "claimReward: invalid currency")
487492 else false)
488- then E(bc, u, "claimReward: neg amount")
493+ then F(bd, u, "claimReward: neg amount")
489494 else false
490- if ((bj == bj))
495+ if ((bk == bk))
491496 then {
492- let cd = invoke(W(), l, [ac(), ch, ci, al], nil)
493- if ((cd == cd))
497+ let ce = invoke(X(), l, [ad(), ci, cj, am], nil)
498+ if ((ce == ce))
494499 then $Tuple2(nil, unit)
495500 else throw("Strict value is not equal to itself.")
496501 }
499504
500505
501506
502-@Callable(bk)
503-func updateSymbol (ag,cj) = {
504- let bj = if (am(bk.caller))
505- then L(ag, "updateSymbol: invalid symbol")
507+@Callable(bl)
508+func updateSymbol (ah,ck) = {
509+ let bk = if (an(bl.caller))
510+ then M(ah, "updateSymbol: invalid symbol")
506511 else false
507- if ((bj == bj))
508- then $Tuple2(ah(ag, cj), unit)
512+ if ((bk == bk))
513+ then $Tuple2(ai(ah, ck), unit)
509514 else throw("Strict value is not equal to itself.")
510515 }
511516
512517
513518
514-@Callable(bk)
515-func updateFeeRecipient (ab) = {
516- let bj = if (if (am(bk.caller))
517- then aq()
519+@Callable(bl)
520+func updateFeeRecipient (ac) = {
521+ let bk = if (if (an(bl.caller))
522+ then ar()
518523 else false)
519- then L(ab, "updateFeeRecipient: invalid feeRecipient")
524+ then M(ac, "updateFeeRecipient: invalid feeRecipient")
520525 else false
521- if ((bj == bj))
522- then $Tuple2(aa(ab), unit)
526+ if ((bk == bk))
527+ then $Tuple2(ab(ac), unit)
523528 else throw("Strict value is not equal to itself.")
524529 }
525530
526531
527532
528-@Callable(bk)
529-func updateRewardDistributor (ck) = {
530- let bj = if (if (am(bk.caller))
531- then aq()
533+@Callable(bl)
534+func updateRewardDistributor (cl) = {
535+ let bk = if (if (an(bl.caller))
536+ then ar()
532537 else false)
533- then L(ck, "updateRewardDistributor: invalid rewardDistributor")
538+ then M(cl, "updateRewardDistributor: invalid rewardDistributor")
534539 else false
535- if ((bj == bj))
536- then $Tuple2(ad(ck), unit)
540+ if ((bk == bk))
541+ then $Tuple2(ae(cl), unit)
537542 else throw("Strict value is not equal to itself.")
538543 }
539544
540545
541546
542-@Callable(bk)
543-func setMultisig (S) = {
544- let bj = if (am(bk.caller))
545- then z(S, "setMultisig: invalid multisig")
547+@Callable(bl)
548+func setMultisig (T) = {
549+ let bk = if (an(bl.caller))
550+ then A(T, "setMultisig: invalid multisig")
546551 else false
547- if ((bj == bj))
548- then $Tuple2(R(addressFromStringValue(S)), unit)
552+ if ((bk == bk))
553+ then $Tuple2(S(addressFromStringValue(T)), unit)
549554 else throw("Strict value is not equal to itself.")
550555 }
551556
552557
553-@Verifier(cl)
554-func cm () = {
555- let C = getString(b)
556- if ($isInstanceOf(C, "String"))
558+@Verifier(cm)
559+func cn () = {
560+ let D = getString(b)
561+ if ($isInstanceOf(D, "String"))
557562 then {
558- let cn = C
559- valueOrElse(getBoolean(addressFromStringValue(cn), makeString([c, toString(this), toBase58String(cl.id)], a)), false)
563+ let co = D
564+ valueOrElse(getBoolean(addressFromStringValue(co), makeString([c, toString(this), toBase58String(cm.id)], a)), false)
560565 }
561- else sigVerify(cl.bodyBytes, cl.proofs[0], cl.senderPublicKey)
566+ else sigVerify(cm.bodyBytes, cm.proofs[0], cm.senderPublicKey)
562567 }
563568
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "MULTISIG"
77
88 let c = "STATUS"
99
1010 let d = "INIT"
1111
1212 let e = "SEQUENCER"
1313
1414 let f = "ACCOUNT_STORAGE"
1515
1616 let g = "FEE_RECIPIENT"
1717
1818 let h = "SYMBOL"
1919
2020 let i = "ORDER_FILLED_AMOUNT"
2121
2222 let j = "REWARD_DISTRIBUTOR"
2323
2424 let k = "externalTransfer"
2525
2626 let l = "claimReward"
2727
2828 let m = "SPOT"
2929
3030 let n = 1
3131
3232 let o = 2
3333
3434 let p = 1
3535
3636 let q = 1
3737
3838 let r = 2
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = toBigInt(0)
4545
4646 let v = toBigInt(1)
4747
4848 let w = toBigInt(100000000)
4949
5050 let x = toBigInt(100000)
5151
52-let y = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
52+let y = base58'7YXq4t'
5353
54-func z (A,B) = {
55- let C = addressFromString(A)
56- if ($isInstanceOf(C, "Address"))
54+let z = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
55+
56+func A (B,C) = {
57+ let D = addressFromString(B)
58+ if ($isInstanceOf(D, "Address"))
5759 then {
58- let D = C
60+ let E = D
5961 true
6062 }
61- else throw(B)
63+ else throw(C)
6264 }
6365
6466
65-func E (F,G,B) = if ((G > F))
66- then throw(B)
67+func F (G,H,C) = if ((H > G))
68+ then throw(C)
6769 else true
6870
6971
70-func H (I,J,B) = if ((I != J))
71- then throw(B)
72+func I (J,K,C) = if ((J != K))
73+ then throw(C)
7274 else true
7375
7476
75-func K (I,J,B) = if ((I == J))
76- then throw(B)
77+func L (J,K,C) = if ((J == K))
78+ then throw(C)
7779 else true
7880
7981
80-func L (F,B) = if (if ((0 >= size(F)))
82+func M (G,C) = if (if ((0 >= size(G)))
8183 then true
82- else contains(F, a))
83- then throw(B)
84+ else contains(G, a))
85+ then throw(C)
8486 else true
8587
8688
87-func M (I,J,B) = if ((I != J))
88- then throw(B)
89+func N (J,K,C) = if ((J != K))
90+ then throw(C)
8991 else true
9092
9193
92-func N () = {
93- let C = getBoolean(d)
94- if ($isInstanceOf(C, "Boolean"))
94+func O () = {
95+ let D = getBoolean(d)
96+ if ($isInstanceOf(D, "Boolean"))
9597 then {
96- let D = C
97- D
98+ let E = D
99+ E
98100 }
99101 else false
100102 }
101103
102104
103-func O (P) = [BooleanEntry(d, P)]
105+func P (Q) = [BooleanEntry(d, Q)]
104106
105107
106-func Q () = {
107- let C = getString(b)
108- if ($isInstanceOf(C, "String"))
108+func R () = {
109+ let D = getString(b)
110+ if ($isInstanceOf(D, "String"))
109111 then {
110- let D = C
111- addressFromStringValue(D)
112+ let E = D
113+ addressFromStringValue(E)
112114 }
113115 else Address(base58'')
114116 }
115117
116118
117-func R (S) = [StringEntry(b, toString(S))]
119+func S (T) = [StringEntry(b, toString(T))]
118120
119121
120-func T () = {
121- let C = getString(e)
122- if ($isInstanceOf(C, "String"))
122+func U () = {
123+ let D = getString(e)
124+ if ($isInstanceOf(D, "String"))
123125 then {
124- let D = C
125- addressFromStringValue(D)
126+ let E = D
127+ addressFromStringValue(E)
126128 }
127129 else Address(base58'')
128130 }
129131
130132
131-func U (V) = [StringEntry(e, toString(V))]
133+func V (W) = [StringEntry(e, toString(W))]
132134
133135
134-func W () = {
135- let C = getString(f)
136- if ($isInstanceOf(C, "String"))
136+func X () = {
137+ let D = getString(f)
138+ if ($isInstanceOf(D, "String"))
137139 then {
138- let D = C
139- addressFromStringValue(D)
140+ let E = D
141+ addressFromStringValue(E)
140142 }
141143 else Address(base58'')
142144 }
143145
144146
145-func X (Y) = [StringEntry(f, toString(Y))]
147+func Y (Z) = [StringEntry(f, toString(Z))]
146148
147149
148-func Z () = {
149- let C = getString(g)
150- if ($isInstanceOf(C, "String"))
150+func aa () = {
151+ let D = getString(g)
152+ if ($isInstanceOf(D, "String"))
151153 then {
152- let D = C
153- D
154+ let E = D
155+ E
154156 }
155157 else ""
156158 }
157159
158160
159-func aa (ab) = [StringEntry(g, ab)]
161+func ab (ac) = [StringEntry(g, ac)]
160162
161163
162-func ac () = {
163- let C = getString(j)
164- if ($isInstanceOf(C, "String"))
164+func ad () = {
165+ let D = getString(j)
166+ if ($isInstanceOf(D, "String"))
165167 then {
166- let D = C
167- D
168+ let E = D
169+ E
168170 }
169171 else ""
170172 }
171173
172174
173-func ad (ae) = [StringEntry(j, ae)]
175+func ae (af) = [StringEntry(j, af)]
174176
175177
176-func af (ag) = {
177- let C = getBoolean(makeString([h, ag], a))
178- if ($isInstanceOf(C, "Boolean"))
178+func ag (ah) = {
179+ let D = getBoolean(makeString([h, ah], a))
180+ if ($isInstanceOf(D, "Boolean"))
179181 then {
180- let D = C
181- D
182+ let E = D
183+ E
182184 }
183185 else false
184186 }
185187
186188
187-func ah (ag,F) = [BooleanEntry(makeString([h, ag], a), F)]
189+func ai (ah,G) = [BooleanEntry(makeString([h, ah], a), G)]
188190
189191
190-func ai (aj) = {
191- let C = getString(makeString([i, toBase58String(aj)], a))
192- if ($isInstanceOf(C, "String"))
192+func aj (ak) = {
193+ let D = getString(makeString([i, toBase58String(ak)], a))
194+ if ($isInstanceOf(D, "String"))
193195 then {
194- let D = C
195- parseBigIntValue(D)
196+ let E = D
197+ parseBigIntValue(E)
196198 }
197199 else u
198200 }
199201
200202
201-func ak (aj,al) = [StringEntry(makeString([i, toBase58String(aj)], a), toString(al))]
203+func al (ak,am) = [StringEntry(makeString([i, toBase58String(ak)], a), toString(am))]
202204
203205
204-func am (an) = if ((an != this))
206+func an (ao) = if ((ao != this))
205207 then throw("_onlyThisContract: revert")
206208 else true
207209
208210
209-func ao () = if ((Q() == Address(base58'')))
211+func ap () = if ((R() == Address(base58'')))
210212 then throw("_whenMultisigSet: revert")
211213 else true
212214
213215
214-func ap () = if (N())
216+func aq () = if (O())
215217 then throw("_whenNotInitialized: revert")
216218 else true
217219
218220
219-func aq () = if (!(N()))
221+func ar () = if (!(O()))
220222 then throw("_whenInitialized: revert")
221223 else true
222224
223225
224-func ar (as,B) = if ((T() != as))
225- then throw(B)
226+func as (at,C) = if ((U() != at))
227+ then throw(C)
226228 else true
227229
228230
229-func at (au,av,B) = if (if ((au != n))
230- then (au != o)
231+func au (av,aw,C) = if (if ((av != n))
232+ then (av != o)
231233 else false)
232- then throw(B)
233- else if ((av != p))
234- then throw(B)
234+ then throw(C)
235+ else if ((aw != p))
236+ then throw(C)
235237 else true
236238
237239
238-func aw (ag,B) = if (!(af(ag)))
239- then throw(B)
240+func ax (ah,C) = if (!(ag(ah)))
241+ then throw(C)
240242 else true
241243
242244
243-func ax (ay,B) = if (if ((ay != q))
244- then (ay != r)
245+func ay (az,C) = if (if ((az != q))
246+ then (az != r)
245247 else false)
246- then throw(B)
248+ then throw(C)
247249 else true
248250
249251
250-func az (aA,aB,aC,aD,B) = {
251- let aE = if ((aD == o))
252+func aA (aB,aC,aD,aE,C) = {
253+ let aF = if ((aE == o))
252254 then true
253- else if ((aC == q))
254- then (aB >= aA)
255- else if ((aC == r))
256- then (aA >= aB)
255+ else if ((aD == q))
256+ then (aC >= aB)
257+ else if ((aD == r))
258+ then (aB >= aC)
257259 else false
258- if (!(aE))
259- then throw(B)
260+ if (!(aF))
261+ then throw(C)
260262 else true
261263 }
262264
263265
264-func aF (aG,aH,B) = if ((aH == s))
265- then if ((size(aG) != 64))
266- then throw(B)
266+func aG (aH,aI,C) = if ((aI == s))
267+ then if ((size(aH) != 64))
268+ then throw(C)
267269 else true
268- else if ((aH == t))
269- then if ((size(aG) != 65))
270- then throw(B)
270+ else if ((aI == t))
271+ then if ((size(aH) != 65))
272+ then throw(C)
271273 else true
272- else throw((B + ": inv alg"))
274+ else throw((C + ": inv alg"))
273275
274276
275-func aI (aJ,aH,B) = if ((aH == s))
276- then if ((size(aJ) != 32))
277- then throw(B)
277+func aJ (aK,aI,C) = if ((aI == s))
278+ then if ((size(aK) != 32))
279+ then throw(C)
278280 else true
279- else if ((aH == t))
280- then if ((size(aJ) != 20))
281- then throw(B)
281+ else if ((aI == t))
282+ then if ((size(aK) != 20))
283+ then throw(C)
282284 else true
283- else throw((B + ": inv alg"))
285+ else throw((C + ": inv alg"))
284286
285287
286-func aK (aJ,aH) = if ((aH == s))
287- then toString(addressFromPublicKey(aJ))
288- else if ((aH == t))
289- then ("0x" + toBase16String(aJ))
288+func aL (aK,aI) = if ((aI == s))
289+ then toString(addressFromPublicKey(aK))
290+ else if ((aI == t))
291+ then ("0x" + toBase16String(aK))
290292 else throw("_convertWeb3IdToAddress: revert")
291293
292294
293-func aL (aj,aG,aJ,aH,B) = {
294- let aE = if ((aH == s))
295- then sigVerify(aj, aG, aJ)
296- else if ((aH == t))
295+func aM (ak,aH,aK,aI,C) = {
296+ let aF = if ((aI == s))
297+ then {
298+ let aN = keccak256_16Kb((y + toBytes(toBase58String(ak))))
299+ sigVerify(aN, aH, aK)
300+ }
301+ else if ((aI == t))
297302 then {
298- let aM = keccak256_16Kb((y + aj))
299- (takeRight(keccak256_16Kb(ecrecover(aM, aG)), 20) == aJ)
303+ let aN = keccak256_16Kb((z + ak))
304+ (takeRight(keccak256_16Kb(ecrecover(aN, aH)), 20) == aK)
300305 }
301- else throw((B + ": inv alg"))
302- if (!(aE))
303- then throw(B)
306+ else throw((C + ": inv alg"))
307+ if (!(aF))
308+ then throw(C)
304309 else true
305310 }
306311
307312
308-func aN (al,aO,B) = if ((aO > fraction(al, x, w, DOWN)))
309- then throw(B)
313+func aO (am,aP,C) = if ((aP > fraction(am, x, w, DOWN)))
314+ then throw(C)
310315 else true
311316
312317
313-func aP (aQ,B) = {
314- let aR = split(aQ, a)
315- let aS = valueOrErrorMessage(parseInt(aR[0]), (B + ": inv type"))
316- let aT = valueOrErrorMessage(parseInt(aR[1]), (B + ": inv version"))
317- let aU = aR[2]
318- let aV = valueOrErrorMessage(parseInt(aR[3]), (B + ": inv side"))
319- let aW = valueOrErrorMessage(parseInt(aR[4]), (B + ": inv ts"))
320- let aX = fromBase58String(aR[5])
321- let aY = valueOrErrorMessage(parseInt(aR[6]), (B + ": inv alg"))
322- let aZ = fromBase58String(aR[7])
323- let ba = if (if ((aS == n))
324- then (aT == p)
318+func aQ (aR,C) = {
319+ let aS = split(aR, a)
320+ let aT = valueOrErrorMessage(parseInt(aS[0]), (C + ": inv type"))
321+ let aU = valueOrErrorMessage(parseInt(aS[1]), (C + ": inv version"))
322+ let aV = aS[2]
323+ let aW = valueOrErrorMessage(parseInt(aS[3]), (C + ": inv side"))
324+ let aX = valueOrErrorMessage(parseInt(aS[4]), (C + ": inv ts"))
325+ let aY = fromBase58String(aS[5])
326+ let aZ = valueOrErrorMessage(parseInt(aS[6]), (C + ": inv alg"))
327+ let ba = fromBase58String(aS[7])
328+ let bb = if (if ((aT == n))
329+ then (aU == p)
325330 else false)
326331 then {
327- let bb = valueOrErrorMessage(parseBigInt(aR[8]), (B + ": inv price"))
328- let bc = valueOrErrorMessage(parseBigInt(aR[9]), (B + ": inv amount"))
329- let bd = (toBytes(bb) + toBytes(bc))
330- $Tuple4(bb, bc, u, bd)
332+ let bc = valueOrErrorMessage(parseBigInt(aS[8]), (C + ": inv price"))
333+ let bd = valueOrErrorMessage(parseBigInt(aS[9]), (C + ": inv amount"))
334+ let be = (toBytes(bc) + toBytes(bd))
335+ $Tuple4(bc, bd, u, be)
331336 }
332- else if (if ((aS == o))
333- then (aT == p)
337+ else if (if ((aT == o))
338+ then (aU == p)
334339 else false)
335340 then {
336- let bc = valueOrErrorMessage(parseBigInt(aR[8]), (B + ": inv amount"))
337- let be = if ((valueOrErrorMessage(parseBigInt(aR[9]), (B + ": inv isBaseAmount")) == u))
341+ let bd = valueOrErrorMessage(parseBigInt(aS[8]), (C + ": inv amount"))
342+ let bf = if ((valueOrErrorMessage(parseBigInt(aS[9]), (C + ": inv isBaseAmount")) == u))
338343 then false
339344 else true
340- if (be)
341- then $Tuple4(u, bc, u, (toBytes(bc) + toBytes(v)))
342- else $Tuple4(u, u, bc, (toBytes(bc) + toBytes(u)))
345+ if (bf)
346+ then $Tuple4(u, bd, u, (toBytes(bd) + toBytes(v)))
347+ else $Tuple4(u, u, bd, (toBytes(bd) + toBytes(u)))
343348 }
344- else throw((B + ": inv type & version"))
345- let bb = ba._1
346- let bf = ba._2
347- let bg = ba._3
348- let bd = ba._4
349- let bh = ((((((((toBytes(aS) + toBytes(aT)) + toBytes(size(aU))) + toBytes(aU)) + toBytes(aV)) + toBytes(aW)) + aX) + toBytes(aY)) + bd)
350- let bi = keccak256_32Kb(bh)
351- let bj = if (if (if (if (if (if (if (at(aS, aT, (B + ": inv order type")))
352- then aw(aU, (B + ": inv order symbol"))
349+ else throw((C + ": inv type & version"))
350+ let bc = bb._1
351+ let bg = bb._2
352+ let bh = bb._3
353+ let be = bb._4
354+ let bi = ((((((((toBytes(aT) + toBytes(aU)) + toBytes(size(aV))) + toBytes(aV)) + toBytes(aW)) + toBytes(aX)) + aY) + toBytes(aZ)) + be)
355+ let bj = keccak256_32Kb(bi)
356+ let bk = if (if (if (if (if (if (if (au(aT, aU, (C + ": inv order type")))
357+ then ax(aV, (C + ": inv order symbol"))
353358 else false)
354- then ax(aV, (B + ": inv order side"))
359+ then ay(aW, (C + ": inv order side"))
355360 else false)
356- then aI(aX, aY, (B + ": inv order web3Id"))
361+ then aJ(aY, aZ, (C + ": inv order web3Id"))
357362 else false)
358- then aF(aZ, aY, (B + ": inv sig format"))
363+ then aG(ba, aZ, (C + ": inv sig format"))
359364 else false)
360- then E(bb, u, (B + ": neg price"))
365+ then F(bc, u, (C + ": neg price"))
361366 else false)
362- then E(bf, u, (B + ": neg base amount"))
367+ then F(bg, u, (C + ": neg base amount"))
363368 else false)
364- then E(bg, u, (B + ": neg quote amount"))
369+ then F(bh, u, (C + ": neg quote amount"))
365370 else false
366- if ((bj == bj))
367- then $Tuple10(aS, aU, aV, bb, bf, bg, bi, aX, aY, aZ)
371+ if ((bk == bk))
372+ then $Tuple10(aT, aV, aW, bc, bg, bh, bj, aY, aZ, ba)
368373 else throw("Strict value is not equal to itself.")
369374 }
370375
371376
372-@Callable(bk)
373-func init (V,Y,ab) = {
374- let bj = if (if (if (if (if (am(bk.caller))
377+@Callable(bl)
378+func init (W,Z,ac) = {
379+ let bk = if (if (if (if (if (an(bl.caller))
380+ then aq()
381+ else false)
375382 then ap()
376383 else false)
377- then ao()
384+ then A(W, "init: invalid sequencer")
378385 else false)
379- then z(V, "init: invalid sequencer")
386+ then A(Z, "init: invalid accountStorage")
380387 else false)
381- then z(Y, "init: invalid accountStorage")
382- else false)
383- then L(ab, "init: invalid feeRecipient")
388+ then M(ac, "init: invalid feeRecipient")
384389 else false
385- if ((bj == bj))
386- then $Tuple2((((O(true) ++ U(addressFromStringValue(V))) ++ X(addressFromStringValue(Y))) ++ aa(ab)), unit)
390+ if ((bk == bk))
391+ then $Tuple2((((P(true) ++ V(addressFromStringValue(W))) ++ Y(addressFromStringValue(Z))) ++ ab(ac)), unit)
387392 else throw("Strict value is not equal to itself.")
388393 }
389394
390395
391396
392-@Callable(bk)
393-func trade (bl,bm,bn,bo) = {
394- let bp = aP(bl, "trade: invalid maker order")
395- let bq = bp._1
396- let br = bp._2
397- let bs = bp._3
398- let bt = bp._4
399- let bu = bp._5
400- let bv = bp._6
401- let bw = bp._7
402- let bx = bp._8
403- let by = bp._9
404- let bz = bp._10
405- let bA = aP(bm, "trade: invalid taker order")
406- let bB = bA._1
407- let bC = bA._2
408- let bD = bA._3
409- let bE = bA._4
410- let bF = bA._5
411- let bG = bA._6
412- let bH = bA._7
413- let bI = bA._8
414- let bJ = bA._9
415- let bK = bA._10
416- let bL = valueOrErrorMessage(parseBigInt(bn), "trade: baseFee not int")
417- let bM = valueOrErrorMessage(parseBigInt(bo), "trade: quoteFee not int")
418- let bN = bt
419- let bO = ai(bw)
420- let bP = (bu - bO)
421- let bQ = ai(bH)
422- let bR = if ((bF == u))
423- then fraction((bG - bQ), w, bN, DOWN)
424- else (bF - bQ)
425- let bS = min([bP, bR])
426- let bT = fraction(bS, bN, w, DOWN)
427- let bj = if (if (if (if (if (if (if (if (if (ar(bk.caller, "trade: invalid sequencer"))
428- then E(bS, u, "trade: neg trade amount")
397+@Callable(bl)
398+func trade (bm,bn,bo,bp) = {
399+ let bq = aQ(bm, "trade: invalid maker order")
400+ let br = bq._1
401+ let bs = bq._2
402+ let bt = bq._3
403+ let bu = bq._4
404+ let bv = bq._5
405+ let bw = bq._6
406+ let bx = bq._7
407+ let by = bq._8
408+ let bz = bq._9
409+ let bA = bq._10
410+ let bB = aQ(bn, "trade: invalid taker order")
411+ let bC = bB._1
412+ let bD = bB._2
413+ let bE = bB._3
414+ let bF = bB._4
415+ let bG = bB._5
416+ let bH = bB._6
417+ let bI = bB._7
418+ let bJ = bB._8
419+ let bK = bB._9
420+ let bL = bB._10
421+ let bM = valueOrErrorMessage(parseBigInt(bo), "trade: baseFee not int")
422+ let bN = valueOrErrorMessage(parseBigInt(bp), "trade: quoteFee not int")
423+ let bO = bu
424+ let bP = aj(bx)
425+ let bQ = (bv - bP)
426+ let bR = aj(bI)
427+ let bS = if ((bG == u))
428+ then fraction((bH - bR), w, bO, DOWN)
429+ else (bG - bR)
430+ let bT = min([bQ, bS])
431+ let bU = fraction(bT, bO, w, DOWN)
432+ let bk = if (if (if (if (if (if (if (if (if (as(bl.caller, "trade: invalid sequencer"))
433+ then F(bT, u, "trade: neg trade amount")
429434 else false)
430- then H(bq, n, "trade: maker is not limit")
435+ then I(br, n, "trade: maker is not limit")
431436 else false)
432- then M(br, bC, "trade: symbol mismatch")
437+ then N(bs, bD, "trade: symbol mismatch")
433438 else false)
434- then K(bs, bD, "trade: side mismatch")
439+ then L(bt, bE, "trade: side mismatch")
435440 else false)
436- then aL(bw, bz, bx, by, "trade: invalid maker sig")
441+ then aM(bx, bA, by, bz, "trade: invalid maker sig")
437442 else false)
438- then aL(bH, bK, bI, bJ, "trade: invalid taker sig")
443+ then aM(bI, bL, bJ, bK, "trade: invalid taker sig")
439444 else false)
440- then aN(bS, bL, "trade: base fee too much")
445+ then aO(bT, bM, "trade: base fee too much")
441446 else false)
442- then aN(bT, bM, "trade: quote fee too much")
447+ then aO(bU, bN, "trade: quote fee too much")
443448 else false)
444- then az(bt, bE, bD, bB, "trade: prices mismatch")
449+ then aA(bu, bF, bE, bC, "trade: prices mismatch")
445450 else false
446- if ((bj == bj))
451+ if ((bk == bk))
447452 then {
448- let bU = aK(bx, by)
449- let bV = aK(bI, bJ)
450- let bW = if ((bs == q))
451- then $Tuple2(bU, bV)
452- else $Tuple2(bV, bU)
453- let bX = bW._1
454- let bY = bW._2
455- let bZ = split(br, "-")
456- let ca = bZ[0]
457- let cb = bZ[1]
458- let cc = Z()
459- let cd = invoke(W(), k, [m, ca, bY, bX, toString(bS), toString(bL), cc], nil)
460- if ((cd == cd))
453+ let bV = aL(by, bz)
454+ let bW = aL(bJ, bK)
455+ let bX = if ((bt == q))
456+ then $Tuple2(bV, bW)
457+ else $Tuple2(bW, bV)
458+ let bY = bX._1
459+ let bZ = bX._2
460+ let ca = split(bs, "-")
461+ let cb = ca[0]
462+ let cc = ca[1]
463+ let cd = aa()
464+ let ce = invoke(X(), k, [m, cb, bZ, bY, toString(bT), toString(bM), cd], nil)
465+ if ((ce == ce))
461466 then {
462- let ce = invoke(W(), k, [m, cb, bX, bY, toString(bT), toString(bM), cc], nil)
463- if ((ce == ce))
467+ let cf = invoke(X(), k, [m, cc, bY, bZ, toString(bU), toString(bN), cd], nil)
468+ if ((cf == cf))
464469 then {
465- let cf = (bO + bS)
466- let cg = if ((bF == u))
467- then (bQ + bT)
468- else (bQ + bS)
469- $Tuple2((ak(bw, cf) ++ ak(bH, cg)), unit)
470+ let cg = (bP + bT)
471+ let ch = if ((bG == u))
472+ then (bR + bU)
473+ else (bR + bT)
474+ $Tuple2((al(bx, cg) ++ al(bI, ch)), unit)
470475 }
471476 else throw("Strict value is not equal to itself.")
472477 }
473478 else throw("Strict value is not equal to itself.")
474479 }
475480 else throw("Strict value is not equal to itself.")
476481 }
477482
478483
479484
480-@Callable(bk)
481-func claimReward (ch,ci,al) = {
482- let bc = valueOrErrorMessage(parseBigInt(al), "claimReward: amount not int")
483- let bj = if (if (if (ar(bk.caller, "claimReward: invalid sequencer"))
484- then L(ch, "claimReward: invalid user")
485+@Callable(bl)
486+func claimReward (ci,cj,am) = {
487+ let bd = valueOrErrorMessage(parseBigInt(am), "claimReward: amount not int")
488+ let bk = if (if (if (as(bl.caller, "claimReward: invalid sequencer"))
489+ then M(ci, "claimReward: invalid user")
485490 else false)
486- then L(ci, "claimReward: invalid currency")
491+ then M(cj, "claimReward: invalid currency")
487492 else false)
488- then E(bc, u, "claimReward: neg amount")
493+ then F(bd, u, "claimReward: neg amount")
489494 else false
490- if ((bj == bj))
495+ if ((bk == bk))
491496 then {
492- let cd = invoke(W(), l, [ac(), ch, ci, al], nil)
493- if ((cd == cd))
497+ let ce = invoke(X(), l, [ad(), ci, cj, am], nil)
498+ if ((ce == ce))
494499 then $Tuple2(nil, unit)
495500 else throw("Strict value is not equal to itself.")
496501 }
497502 else throw("Strict value is not equal to itself.")
498503 }
499504
500505
501506
502-@Callable(bk)
503-func updateSymbol (ag,cj) = {
504- let bj = if (am(bk.caller))
505- then L(ag, "updateSymbol: invalid symbol")
507+@Callable(bl)
508+func updateSymbol (ah,ck) = {
509+ let bk = if (an(bl.caller))
510+ then M(ah, "updateSymbol: invalid symbol")
506511 else false
507- if ((bj == bj))
508- then $Tuple2(ah(ag, cj), unit)
512+ if ((bk == bk))
513+ then $Tuple2(ai(ah, ck), unit)
509514 else throw("Strict value is not equal to itself.")
510515 }
511516
512517
513518
514-@Callable(bk)
515-func updateFeeRecipient (ab) = {
516- let bj = if (if (am(bk.caller))
517- then aq()
519+@Callable(bl)
520+func updateFeeRecipient (ac) = {
521+ let bk = if (if (an(bl.caller))
522+ then ar()
518523 else false)
519- then L(ab, "updateFeeRecipient: invalid feeRecipient")
524+ then M(ac, "updateFeeRecipient: invalid feeRecipient")
520525 else false
521- if ((bj == bj))
522- then $Tuple2(aa(ab), unit)
526+ if ((bk == bk))
527+ then $Tuple2(ab(ac), unit)
523528 else throw("Strict value is not equal to itself.")
524529 }
525530
526531
527532
528-@Callable(bk)
529-func updateRewardDistributor (ck) = {
530- let bj = if (if (am(bk.caller))
531- then aq()
533+@Callable(bl)
534+func updateRewardDistributor (cl) = {
535+ let bk = if (if (an(bl.caller))
536+ then ar()
532537 else false)
533- then L(ck, "updateRewardDistributor: invalid rewardDistributor")
538+ then M(cl, "updateRewardDistributor: invalid rewardDistributor")
534539 else false
535- if ((bj == bj))
536- then $Tuple2(ad(ck), unit)
540+ if ((bk == bk))
541+ then $Tuple2(ae(cl), unit)
537542 else throw("Strict value is not equal to itself.")
538543 }
539544
540545
541546
542-@Callable(bk)
543-func setMultisig (S) = {
544- let bj = if (am(bk.caller))
545- then z(S, "setMultisig: invalid multisig")
547+@Callable(bl)
548+func setMultisig (T) = {
549+ let bk = if (an(bl.caller))
550+ then A(T, "setMultisig: invalid multisig")
546551 else false
547- if ((bj == bj))
548- then $Tuple2(R(addressFromStringValue(S)), unit)
552+ if ((bk == bk))
553+ then $Tuple2(S(addressFromStringValue(T)), unit)
549554 else throw("Strict value is not equal to itself.")
550555 }
551556
552557
553-@Verifier(cl)
554-func cm () = {
555- let C = getString(b)
556- if ($isInstanceOf(C, "String"))
558+@Verifier(cm)
559+func cn () = {
560+ let D = getString(b)
561+ if ($isInstanceOf(D, "String"))
557562 then {
558- let cn = C
559- valueOrElse(getBoolean(addressFromStringValue(cn), makeString([c, toString(this), toBase58String(cl.id)], a)), false)
563+ let co = D
564+ valueOrElse(getBoolean(addressFromStringValue(co), makeString([c, toString(this), toBase58String(cm.id)], a)), false)
560565 }
561- else sigVerify(cl.bodyBytes, cl.proofs[0], cl.senderPublicKey)
566+ else sigVerify(cm.bodyBytes, cm.proofs[0], cm.senderPublicKey)
562567 }
563568

github/deemru/w8io/169f3d6 
155.30 ms