diff --git a/packages/contracts-communication/configs/global/MessageBus.testnet.json b/packages/contracts-communication/configs/global/MessageBus.testnet.json index 4e571d1be7..37dbadfc03 100644 --- a/packages/contracts-communication/configs/global/MessageBus.testnet.json +++ b/packages/contracts-communication/configs/global/MessageBus.testnet.json @@ -4,8 +4,8 @@ "latestInterchainClient": "InterchainClientV1", "trustedModules": ["SynapseModule"], "appConfig": { - "0_requiredResponses": 1, - "1_optimisticPeriod": 30 + "requiredResponses": 1, + "optimisticPeriod": 30 }, "messageLengthEstimate": 1024 } diff --git a/packages/contracts-communication/configs/global/PingPongApp.testnet.json b/packages/contracts-communication/configs/global/PingPongApp.testnet.json index d1e027a150..040729e7a2 100644 --- a/packages/contracts-communication/configs/global/PingPongApp.testnet.json +++ b/packages/contracts-communication/configs/global/PingPongApp.testnet.json @@ -4,8 +4,8 @@ "latestInterchainClient": "InterchainClientV1", "trustedModules": ["SynapseModule"], "appConfig": { - "0_requiredResponses": 1, - "1_optimisticPeriod": 30 + "requiredResponses": 1, + "optimisticPeriod": 30 }, "gasLimit": 500000 } diff --git a/packages/contracts-communication/configs/global/SynapseModule.testnet.json b/packages/contracts-communication/configs/global/SynapseModule.testnet.json index 1095687b76..d00255052d 100644 --- a/packages/contracts-communication/configs/global/SynapseModule.testnet.json +++ b/packages/contracts-communication/configs/global/SynapseModule.testnet.json @@ -1,6 +1,6 @@ { "claimFeeBPS": 10, - "feeCollector": "0xAe61329Ce0AfFA55A7174916214fC2560a1CdD9f", + "feeRecipient": "0xAe61329Ce0AfFA55A7174916214fC2560a1CdD9f", "gasOracleName": "SynapseGasOracleV1", "threshold": 6, "verifiers": [ diff --git a/packages/contracts-communication/deployments/arb_sepolia/ExecutionFees.json b/packages/contracts-communication/deployments/arb_sepolia/ExecutionFees.json deleted file mode 100644 index 17c3d66e17..0000000000 --- a/packages/contracts-communication/deployments/arb_sepolia/ExecutionFees.json +++ /dev/null @@ -1,534 +0,0 @@ -{ - "address": "0x3516cD6eF60c5287d749e53312C17D9FAF17aB24", - "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", - "receipt": { - "hash": "0x0311476d3123bf7ab04754697787226fb8b0a0a907d0a2d2dc2419e47c192a1a", - "blockNumber": 34358373 - }, - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RECORDER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accumulatedRewards", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalAccumulated", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addExecutionFee", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "claimExecutionFees", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "executionFee", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "recordExecutor", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordedExecutor", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "callerConfirmation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "unclaimedRewards", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalClaimed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "ExecutionFeeAdded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "totalFee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutionFeesAwarded", - "inputs": [ - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutionFeesClaimed", - "inputs": [ - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutorRecorded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AccessControlBadConfirmation", - "inputs": [] - }, - { - "type": "error", - "name": "AccessControlUnauthorizedAccount", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "neededRole", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExecutionFees__AlreadyRecorded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExecutionFees__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ExecutionFees__ZeroAmount", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - } - ] -} \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/InterchainClientV1.json b/packages/contracts-communication/deployments/arb_sepolia/InterchainClientV1.json index d8640dfae1..f099dc05b6 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/InterchainClientV1.json +++ b/packages/contracts-communication/deployments/arb_sepolia/InterchainClientV1.json @@ -1,9 +1,9 @@ { - "address": "0x4AdfEb01C090e14BFA84411b74D0d03dDE12e39b", - "constructorArgs": "0x0000000000000000000000004361f461c5df0dcf109ba2cf0e46dfa26e73f54f000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", + "address": "0x15ACDFd1F2027aE084B4d92da20D22cc945d07Ec", + "constructorArgs": "0x000000000000000000000000943257ae5037f5997ab302c4e158efe48bbce89d000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xb4dbdb9daaf91ad88cb1d179d5855e995a45a10b11acb7475b636fc239fecd60", - "blockNumber": 34358231 + "hash": "0x7e7954ac15bf35ce836e9324532685bfcbfc51a1e6a6b8978253802ebc412484", + "blockNumber": 41157437 }, "abi": [ { @@ -79,6 +79,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "defaultGuard", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "encodeTransaction", @@ -140,19 +153,6 @@ ], "stateMutability": "pure" }, - { - "type": "function", - "name": "executionFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, { "type": "function", "name": "getAppReceivingConfigV1", @@ -178,6 +178,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] }, @@ -304,6 +314,82 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getTxReadinessV1", + "inputs": [ + { + "name": "icTx", + "type": "tuple", + "internalType": "struct InterchainTransaction", + "components": [ + { + "name": "srcChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dstChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "srcSender", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "dstReceiver", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "options", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "message", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "status", + "type": "uint8", + "internalType": "enum IInterchainClientV1.TxReadiness" + }, + { + "name": "firstArg", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "secondArg", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "interchainExecute", @@ -495,10 +581,10 @@ }, { "type": "function", - "name": "setExecutionFees", + "name": "setDefaultGuard", "inputs": [ { - "name": "executionFees_", + "name": "guard", "type": "address", "internalType": "address" } @@ -563,10 +649,10 @@ }, { "type": "event", - "name": "ExecutionFeesSet", + "name": "DefaultGuardSet", "inputs": [ { - "name": "executionFees", + "name": "guard", "type": "address", "indexed": false, "internalType": "address" @@ -755,7 +841,7 @@ }, { "type": "error", - "name": "AppConfigLib__IncorrectVersion", + "name": "AppConfigLib__VersionInvalid", "inputs": [ { "name": "version", @@ -766,23 +852,34 @@ }, { "type": "error", - "name": "InterchainClientV1__FeeAmountTooLow", + "name": "BatchingV1__EntryIndexNotZero", "inputs": [ { - "name": "actual", - "type": "uint256", - "internalType": "uint256" - }, + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "BatchingV1__ProofNotEmpty", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__BatchConflict", + "inputs": [ { - "name": "required", - "type": "uint256", - "internalType": "uint256" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainClientV1__IncorrectDstChainId", + "name": "InterchainClientV1__ChainIdNotLinked", "inputs": [ { "name": "chainId", @@ -793,15 +890,42 @@ }, { "type": "error", - "name": "InterchainClientV1__IncorrectMsgValue", + "name": "InterchainClientV1__ChainIdNotRemote", "inputs": [ { - "name": "actual", + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__DstChainIdNotLocal", + "inputs": [ + { + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ExecutionServiceZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__FeeAmountBelowMin", + "inputs": [ + { + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -809,29 +933,28 @@ }, { "type": "error", - "name": "InterchainClientV1__InvalidTransactionVersion", + "name": "InterchainClientV1__GasLeftBelowMin", "inputs": [ { - "name": "version", - "type": "uint16", - "internalType": "uint16" + "name": "gasLeft", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainClientV1__NoLinkedClient", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - } - ] + "name": "InterchainClientV1__GuardZeroAddress", + "inputs": [] }, { "type": "error", - "name": "InterchainClientV1__NotEVMClient", + "name": "InterchainClientV1__LinkedClientNotEVM", "inputs": [ { "name": "client", @@ -842,15 +965,10 @@ }, { "type": "error", - "name": "InterchainClientV1__NotEnoughGasSupplied", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainClientV1__NotEnoughResponses", + "name": "InterchainClientV1__MsgValueMismatch", "inputs": [ { - "name": "actual", + "name": "msgValue", "type": "uint256", "internalType": "uint256" }, @@ -863,12 +981,44 @@ }, { "type": "error", - "name": "InterchainClientV1__NotRemoteChainId", + "name": "InterchainClientV1__ReceiverNotICApp", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ReceiverZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__ReceiverZeroRequiredResponses", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ResponsesAmountBelowMin", + "inputs": [ + { + "name": "responsesAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, @@ -896,17 +1046,23 @@ }, { "type": "error", - "name": "InterchainClientV1__ZeroReceiver", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainClientV1__ZeroRequiredResponses", - "inputs": [] + "name": "InterchainClientV1__TxVersionMismatch", + "inputs": [ + { + "name": "txVersion", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "required", + "type": "uint16", + "internalType": "uint16" + } + ] }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -955,12 +1111,7 @@ }, { "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -968,6 +1119,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/InterchainDB.json b/packages/contracts-communication/deployments/arb_sepolia/InterchainDB.json index 03f8543645..f2c822b9ac 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/InterchainDB.json +++ b/packages/contracts-communication/deployments/arb_sepolia/InterchainDB.json @@ -1,9 +1,9 @@ { - "address": "0x4361F461c5Df0DCf109BA2CF0E46dfA26e73f54f", + "address": "0x943257aE5037f5997ab302c4E158EFe48BBCE89d", "constructorArgs": "0x", "receipt": { - "hash": "0x21b9241ce3df67fc40b23144c84cf01f3edf075fad4ebb9e0b0196a0462501a4", - "blockNumber": 34357459 + "hash": "0xa0586b35600ba365c0628535ca64244ab0c581c2f24394ad7d806c7b2c78b843", + "blockNumber": 41156776 }, "abi": [ { @@ -21,7 +21,7 @@ }, { "type": "function", - "name": "checkVerification", + "name": "checkBatchVerification", "inputs": [ { "name": "dstModule", @@ -29,9 +29,9 @@ "internalType": "address" }, { - "name": "entry", + "name": "batch", "type": "tuple", - "internalType": "struct InterchainEntry", + "internalType": "struct InterchainBatch", "components": [ { "name": "srcChainId", @@ -44,26 +44,11 @@ "internalType": "uint64" }, { - "name": "entryIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "srcWriter", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "dataHash", + "name": "batchRoot", "type": "bytes32", "internalType": "bytes32" } ] - }, - { - "name": "proof", - "type": "bytes32[]", - "internalType": "bytes32[]" } ], "outputs": [ @@ -159,6 +144,57 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getBatchRoot", + "inputs": [ + { + "name": "entry", + "type": "tuple", + "internalType": "struct InterchainEntry", + "components": [ + { + "name": "srcChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "srcWriter", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "dataHash", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, { "type": "function", "name": "getBatchSize", @@ -281,6 +317,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getVersionedBatch", + "inputs": [ + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "versionedBatch", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "requestBatchVerification", @@ -489,10 +544,10 @@ }, { "type": "error", - "name": "InterchainDB__BatchDoesNotExist", + "name": "BatchingV1__EntryIndexNotZero", "inputs": [ { - "name": "dbNonce", + "name": "entryIndex", "type": "uint64", "internalType": "uint64" } @@ -500,18 +555,12 @@ }, { "type": "error", - "name": "InterchainDB__BatchNotFinalized", - "inputs": [ - { - "name": "dbNonce", - "type": "uint64", - "internalType": "uint64" - } - ] + "name": "BatchingV1__ProofNotEmpty", + "inputs": [] }, { "type": "error", - "name": "InterchainDB__ConflictingBatches", + "name": "InterchainDB__BatchConflict", "inputs": [ { "name": "module", @@ -549,55 +598,55 @@ }, { "type": "error", - "name": "InterchainDB__EntryIndexOutOfRange", + "name": "InterchainDB__BatchVersionMismatch", "inputs": [ { - "name": "dbNonce", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "entryIndex", - "type": "uint64", - "internalType": "uint64" + "name": "version", + "type": "uint16", + "internalType": "uint16" }, { - "name": "batchSize", - "type": "uint64", - "internalType": "uint64" + "name": "required", + "type": "uint16", + "internalType": "uint16" } ] }, { "type": "error", - "name": "InterchainDB__IncorrectFeeAmount", + "name": "InterchainDB__ChainIdNotRemote", "inputs": [ { - "name": "actualFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "expectedFee", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainDB__InvalidBatchVersion", + "name": "InterchainDB__EntryIndexOutOfRange", "inputs": [ { - "name": "version", - "type": "uint16", - "internalType": "uint16" + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "batchSize", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainDB__InvalidEntryRange", + "name": "InterchainDB__EntryRangeInvalid", "inputs": [ { "name": "dbNonce", @@ -618,20 +667,25 @@ }, { "type": "error", - "name": "InterchainDB__NoModulesSpecified", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainDB__SameChainId", + "name": "InterchainDB__FeeAmountBelowMin", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "feeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, + { + "type": "error", + "name": "InterchainDB__ModulesNotProvided", + "inputs": [] + }, { "type": "error", "name": "SafeCastOverflowedUintDowncast", @@ -650,7 +704,7 @@ }, { "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", diff --git a/packages/contracts-communication/deployments/arb_sepolia/LegacyPingPong.json b/packages/contracts-communication/deployments/arb_sepolia/LegacyPingPong.json index 219931a00e..a732565350 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/LegacyPingPong.json +++ b/packages/contracts-communication/deployments/arb_sepolia/LegacyPingPong.json @@ -1,9 +1,9 @@ { - "address": "0xe5E2b525eaD8268b37764960ff38Bc915F2E8Bed", + "address": "0x30591abA8544f4DeB7Bc9846D303787482c75e13", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xf179a40cf7501865e642f943bbe3cdc0b3d9f48408c80d1d6da064693b2667bf", - "blockNumber": 34358837 + "hash": "0xfd725f0ef3a9ac913f78c709b3b15ad32c9c82c258daf1136d14fad2a3528968", + "blockNumber": 41157765 }, "abi": [ { @@ -336,7 +336,7 @@ }, { "type": "error", - "name": "LegacyReceiver__BalanceTooLow", + "name": "LegacyReceiver__BalanceBelowMin", "inputs": [ { "name": "actual", @@ -352,7 +352,7 @@ }, { "type": "error", - "name": "LegacyReceiver__NotMessageBus", + "name": "LegacyReceiver__CallerNotMessageBus", "inputs": [ { "name": "caller", @@ -363,34 +363,34 @@ }, { "type": "error", - "name": "LegacyReceiver__NotTrustedRemote", + "name": "LegacyReceiver__ChainIdNotRemote", "inputs": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" - }, - { - "name": "srcCaller", - "type": "bytes32", - "internalType": "bytes32" } ] }, { "type": "error", - "name": "LegacyReceiver__SameChainId", + "name": "LegacyReceiver__SrcCallerNotTrusted", "inputs": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" + }, + { + "name": "srcCaller", + "type": "bytes32", + "internalType": "bytes32" } ] }, { "type": "error", - "name": "LegacyReceiver__TrustedRemoteNotSet", + "name": "LegacyReceiver__TrustedRemoteZeroAddress", "inputs": [ { "name": "chainId", diff --git a/packages/contracts-communication/deployments/arb_sepolia/MessageBus.json b/packages/contracts-communication/deployments/arb_sepolia/MessageBus.json index e9fc456666..140b75fa1a 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/MessageBus.json +++ b/packages/contracts-communication/deployments/arb_sepolia/MessageBus.json @@ -1,9 +1,9 @@ { - "address": "0x8CeFD8163CaBd9BF67071E68668a959CFC50D5E2", + "address": "0x64118e2E5581FeC4496ef6886Abd24027A7f31A8", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x682484b618db694da7d564f30f320ecb4ea3ebd39f62a2221ad373a208c9a459", - "blockNumber": 34689167 + "hash": "0xfbd3d645cb9117dd0e0918fb0f5112e61fd5df2d6a811e169dbdc3b252e70607", + "blockNumber": 41157647 }, "abi": [ { @@ -192,6 +192,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] } @@ -567,21 +577,14 @@ "name": "setAppConfigV1", "inputs": [ { - "name": "appConfig", - "type": "tuple", - "internalType": "struct AppConfigV1", - "components": [ - { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" - } - ] + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ], "outputs": [], @@ -996,31 +999,31 @@ }, { "type": "error", - "name": "InterchainApp__AlreadyLatestClient", + "name": "InterchainApp__AppConfigInvalid", "inputs": [ { - "name": "client", - "type": "address", - "internalType": "address" + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainApp__AppZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__BalanceTooLow", + "name": "InterchainApp__BalanceBelowMin", "inputs": [ { - "name": "actual", + "name": "balance", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -1028,10 +1031,10 @@ }, { "type": "error", - "name": "InterchainApp__ClientAlreadyAdded", + "name": "InterchainApp__CallerNotInterchainClient", "inputs": [ { - "name": "client", + "name": "caller", "type": "address", "internalType": "address" } @@ -1039,31 +1042,21 @@ }, { "type": "error", - "name": "InterchainApp__InterchainClientZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__InvalidAppConfig", + "name": "InterchainApp__ChainIdNotRemote", "inputs": [ { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainApp__ModuleAlreadyAdded", + "name": "InterchainApp__InterchainClientAlreadyAdded", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -1071,10 +1064,10 @@ }, { "type": "error", - "name": "InterchainApp__ModuleNotAdded", + "name": "InterchainApp__InterchainClientAlreadyLatest", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -1082,12 +1075,12 @@ }, { "type": "error", - "name": "InterchainApp__ModuleZeroAddress", + "name": "InterchainApp__InterchainClientZeroAddress", "inputs": [] }, { "type": "error", - "name": "InterchainApp__NotEVMLinkedApp", + "name": "InterchainApp__LinkedAppNotEVM", "inputs": [ { "name": "linkedApp", @@ -1098,10 +1091,10 @@ }, { "type": "error", - "name": "InterchainApp__NotInterchainClient", + "name": "InterchainApp__ModuleAlreadyAdded", "inputs": [ { - "name": "account", + "name": "module", "type": "address", "internalType": "address" } @@ -1109,18 +1102,23 @@ }, { "type": "error", - "name": "InterchainApp__ReceiverNotSet", + "name": "InterchainApp__ModuleNotAdded", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainApp__SameChainId", + "name": "InterchainApp__ModuleZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__ReceiverZeroAddress", "inputs": [ { "name": "chainId", @@ -1131,7 +1129,12 @@ }, { "type": "error", - "name": "InterchainApp__SenderNotAllowed", + "name": "InterchainApp__RemoteAppZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__SrcSenderNotAllowed", "inputs": [ { "name": "srcChainId", @@ -1147,7 +1150,7 @@ }, { "type": "error", - "name": "LegacyOptionsLib__InvalidOptions", + "name": "LegacyOptionsLib__PayloadInvalid", "inputs": [ { "name": "legacyOpts", @@ -1158,7 +1161,7 @@ }, { "type": "error", - "name": "MessageBus__NotEVMReceiver", + "name": "MessageBus__ReceiverNotEVM", "inputs": [ { "name": "receiver", diff --git a/packages/contracts-communication/deployments/arb_sepolia/PingPongApp.json b/packages/contracts-communication/deployments/arb_sepolia/PingPongApp.json index 71f6e0226c..41f0eb254e 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/PingPongApp.json +++ b/packages/contracts-communication/deployments/arb_sepolia/PingPongApp.json @@ -1,9 +1,9 @@ { - "address": "0x8420DCB8dD1a5eDEa2F71bE26aD275d3fa61F3CF", + "address": "0x47E4b9e5F7Cb65E5c37D866F1Ad4470BF42e3068", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x13d399215b2fef40032f26d1f63f9d1f701fd9537e3cbfddec6c145050205a0f", - "blockNumber": 34689074 + "hash": "0x76f8ae1503d7e18d455c17a151bbb214a55c1f0d6e5597b7e4bcd76fd730dc5d", + "blockNumber": 41157550 }, "abi": [ { @@ -143,6 +143,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] } @@ -483,21 +493,14 @@ "name": "setAppConfigV1", "inputs": [ { - "name": "appConfig", - "type": "tuple", - "internalType": "struct AppConfigV1", - "components": [ - { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" - } - ] + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ], "outputs": [], @@ -892,31 +895,31 @@ }, { "type": "error", - "name": "InterchainApp__AlreadyLatestClient", + "name": "InterchainApp__AppConfigInvalid", "inputs": [ { - "name": "client", - "type": "address", - "internalType": "address" + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainApp__AppZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__BalanceTooLow", + "name": "InterchainApp__BalanceBelowMin", "inputs": [ { - "name": "actual", + "name": "balance", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -924,10 +927,10 @@ }, { "type": "error", - "name": "InterchainApp__ClientAlreadyAdded", + "name": "InterchainApp__CallerNotInterchainClient", "inputs": [ { - "name": "client", + "name": "caller", "type": "address", "internalType": "address" } @@ -935,31 +938,21 @@ }, { "type": "error", - "name": "InterchainApp__InterchainClientZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__InvalidAppConfig", + "name": "InterchainApp__ChainIdNotRemote", "inputs": [ { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainApp__ModuleAlreadyAdded", + "name": "InterchainApp__InterchainClientAlreadyAdded", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -967,10 +960,10 @@ }, { "type": "error", - "name": "InterchainApp__ModuleNotAdded", + "name": "InterchainApp__InterchainClientAlreadyLatest", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -978,12 +971,12 @@ }, { "type": "error", - "name": "InterchainApp__ModuleZeroAddress", + "name": "InterchainApp__InterchainClientZeroAddress", "inputs": [] }, { "type": "error", - "name": "InterchainApp__NotEVMLinkedApp", + "name": "InterchainApp__LinkedAppNotEVM", "inputs": [ { "name": "linkedApp", @@ -994,10 +987,10 @@ }, { "type": "error", - "name": "InterchainApp__NotInterchainClient", + "name": "InterchainApp__ModuleAlreadyAdded", "inputs": [ { - "name": "account", + "name": "module", "type": "address", "internalType": "address" } @@ -1005,18 +998,23 @@ }, { "type": "error", - "name": "InterchainApp__ReceiverNotSet", + "name": "InterchainApp__ModuleNotAdded", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainApp__SameChainId", + "name": "InterchainApp__ModuleZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__ReceiverZeroAddress", "inputs": [ { "name": "chainId", @@ -1027,7 +1025,12 @@ }, { "type": "error", - "name": "InterchainApp__SenderNotAllowed", + "name": "InterchainApp__RemoteAppZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__SrcSenderNotAllowed", "inputs": [ { "name": "srcChainId", diff --git a/packages/contracts-communication/deployments/arb_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/arb_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json index b31f7bbe17..2c4ea11e1e 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/arb_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0x7533f98Dc830E48f528e147fd31eA416F32a23d2", + "address": "0xFE299dd970f5E36b4dA31664e570EA511eb61a06", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xb1d77fb5b688a59dedcfd6b2b46322bdc1b8fc75092d1f95ffb1fc03bd3793f0", - "blockNumber": 34357743 + "hash": "0xe5bf1cf943d043fb36e72b542eb0570794b26580fc6114225cd7184d3c02a031", + "blockNumber": 41157184 }, "abi": [ { diff --git a/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.Implementation.json b/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.Implementation.json index df912e0cfb..b540e7908f 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.Implementation.json +++ b/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.Implementation.json @@ -1,9 +1,9 @@ { - "address": "0xCa30ceFa3321fB5B0eb32006ebC9f26757c78C9C", + "address": "0xAF3b718677Ae400Cb321A2143966cbae762A9EF6", "constructorArgs": "0x", "receipt": { - "hash": "0x6c222560826cb45e3eb293900a9f594e033465e1cf8b49ed2e5f66a23e38368d", - "blockNumber": 34357738 + "hash": "0x3f3223d43182992af1e8f5ae12b5952b86cbff6c070f90aefdb0c21a70ea42ee", + "blockNumber": 41157181 }, "abi": [ { @@ -50,6 +50,13 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "claimFees", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "executorEOA", @@ -76,6 +83,45 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getClaimableAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerFraction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getExecutionFee", @@ -105,6 +151,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getRoleAdmin", @@ -212,7 +271,7 @@ }, { "type": "function", - "name": "requestExecution", + "name": "requestTxExecution", "inputs": [ { "name": "dstChainId", @@ -229,11 +288,6 @@ "type": "bytes32", "internalType": "bytes32" }, - { - "name": "executionFee", - "type": "uint256", - "internalType": "uint256" - }, { "name": "options", "type": "bytes", @@ -241,7 +295,7 @@ } ], "outputs": [], - "stateMutability": "nonpayable" + "stateMutability": "payable" }, { "type": "function", @@ -261,6 +315,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setClaimerFraction", + "inputs": [ + { + "name": "claimerFraction_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setExecutorEOA", @@ -319,6 +386,19 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "ClaimerFractionSet", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "ExecutionRequested", @@ -334,6 +414,12 @@ "type": "address", "indexed": false, "internalType": "address" + }, + { + "name": "executionFee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" } ], "anonymous": false @@ -351,6 +437,50 @@ ], "anonymous": false }, + { + "type": "event", + "name": "FeeRecipientSet", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeesClaimed", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimedFees", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimerReward", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "GasOracleSet", @@ -486,6 +616,48 @@ } ] }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__ClaimerFractionAboveMax", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxAllowed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, { "type": "error", "name": "InvalidInitialization", @@ -498,7 +670,7 @@ }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -509,15 +681,20 @@ }, { "type": "error", - "name": "SynapseExecutionService__FeeAmountTooLow", + "name": "SynapseExecutionService__ExecutorZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SynapseExecutionService__FeeAmountBelowMin", "inputs": [ { - "name": "actual", + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -525,7 +702,18 @@ }, { "type": "error", - "name": "SynapseExecutionService__GasOracleNotSet", + "name": "SynapseExecutionService__GasOracleNotContract", + "inputs": [ + { + "name": "gasOracle", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SynapseExecutionService__GasOracleZeroAddress", "inputs": [] }, { @@ -541,17 +729,7 @@ }, { "type": "error", - "name": "SynapseExecutionService__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -559,6 +737,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.json index e8f1ba36f4..d190477191 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/arb_sepolia/SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0xEB8f63C97B3B1dF220e3f61534F12cEC68573924", + "address": "0x16006C628A3164B8D6C25E6Ad4Facf59cD205AB8", "constructorArgs": "0x", "receipt": { - "hash": "0xb1d77fb5b688a59dedcfd6b2b46322bdc1b8fc75092d1f95ffb1fc03bd3793f0", - "blockNumber": 34357743 + "hash": "0xe5bf1cf943d043fb36e72b542eb0570794b26580fc6114225cd7184d3c02a031", + "blockNumber": 41157184 }, "abi": [ { @@ -50,6 +50,13 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "claimFees", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "executorEOA", @@ -76,6 +83,45 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getClaimableAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerFraction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getExecutionFee", @@ -105,6 +151,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getRoleAdmin", @@ -212,7 +271,7 @@ }, { "type": "function", - "name": "requestExecution", + "name": "requestTxExecution", "inputs": [ { "name": "dstChainId", @@ -229,11 +288,6 @@ "type": "bytes32", "internalType": "bytes32" }, - { - "name": "executionFee", - "type": "uint256", - "internalType": "uint256" - }, { "name": "options", "type": "bytes", @@ -241,7 +295,7 @@ } ], "outputs": [], - "stateMutability": "nonpayable" + "stateMutability": "payable" }, { "type": "function", @@ -261,6 +315,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setClaimerFraction", + "inputs": [ + { + "name": "claimerFraction_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setExecutorEOA", @@ -319,6 +386,19 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "ClaimerFractionSet", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "ExecutionRequested", @@ -334,6 +414,12 @@ "type": "address", "indexed": false, "internalType": "address" + }, + { + "name": "executionFee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" } ], "anonymous": false @@ -351,6 +437,50 @@ ], "anonymous": false }, + { + "type": "event", + "name": "FeeRecipientSet", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeesClaimed", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimedFees", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimerReward", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "GasOracleSet", @@ -486,6 +616,48 @@ } ] }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__ClaimerFractionAboveMax", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxAllowed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, { "type": "error", "name": "InvalidInitialization", @@ -498,7 +670,7 @@ }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -509,15 +681,20 @@ }, { "type": "error", - "name": "SynapseExecutionService__FeeAmountTooLow", + "name": "SynapseExecutionService__ExecutorZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SynapseExecutionService__FeeAmountBelowMin", "inputs": [ { - "name": "actual", + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -525,7 +702,18 @@ }, { "type": "error", - "name": "SynapseExecutionService__GasOracleNotSet", + "name": "SynapseExecutionService__GasOracleNotContract", + "inputs": [ + { + "name": "gasOracle", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SynapseExecutionService__GasOracleZeroAddress", "inputs": [] }, { @@ -541,17 +729,7 @@ }, { "type": "error", - "name": "SynapseExecutionService__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -559,6 +737,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/SynapseGasOracleV1.json b/packages/contracts-communication/deployments/arb_sepolia/SynapseGasOracleV1.json index 88b8accd26..c8cbf548d8 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/SynapseGasOracleV1.json +++ b/packages/contracts-communication/deployments/arb_sepolia/SynapseGasOracleV1.json @@ -1,9 +1,9 @@ { - "address": "0x7a73234588e80aDccFEc41C8d3a6daEF6C4b56C3", + "address": "0x7e09589fB70C26Eaf06a4b4f6Ccbc57F932c1f58", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xed1d493409c8b7ddaf3b9812d4d4cee712e96ffdd76e9202a9bbc7ef3a683df1", - "blockNumber": 34358058 + "hash": "0xb0f6fa4e5961308a38226077cde7b87f6e476a63069511387950ece71224b70c", + "blockNumber": 41156962 }, "abi": [ { @@ -430,7 +430,7 @@ }, { "type": "error", - "name": "SynapseGasOracleV1__NativePriceNotSet", + "name": "SynapseGasOracleV1__ChainIdNotRemote", "inputs": [ { "name": "chainId", @@ -441,12 +441,7 @@ }, { "type": "error", - "name": "SynapseGasOracleV1__NativePriceZero", - "inputs": [] - }, - { - "type": "error", - "name": "SynapseGasOracleV1__NotRemoteChainId", + "name": "SynapseGasOracleV1__NativePriceNotSet", "inputs": [ { "name": "chainId", @@ -454,6 +449,11 @@ "internalType": "uint64" } ] + }, + { + "type": "error", + "name": "SynapseGasOracleV1__NativePriceZero", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/SynapseModule.json b/packages/contracts-communication/deployments/arb_sepolia/SynapseModule.json index a7c8dd2cc6..7f7d029796 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/SynapseModule.json +++ b/packages/contracts-communication/deployments/arb_sepolia/SynapseModule.json @@ -1,9 +1,9 @@ { - "address": "0xC13e2b478f6531Ef096FF05733Ed65E3bc7fC5AF", - "constructorArgs": "0x0000000000000000000000004361f461c5df0dcf109ba2cf0e46dfa26e73f54f000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", + "address": "0xE55659865F84B97eAEc00C1a8F4175F852523E25", + "constructorArgs": "0x000000000000000000000000943257ae5037f5997ab302c4e158efe48bbce89d000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xf175001a19ff7c0f377fffa3d6c5c178a8cc4beba5301dc73b849ba0b5920c10", - "blockNumber": 34357595 + "hash": "0x1e0cc9db61e5b1930e96e6c13cb3d4f6548c1d2faee7084c466c79f454602a40", + "blockNumber": 41157077 }, "abi": [ { @@ -83,7 +83,7 @@ }, { "type": "function", - "name": "feeCollector", + "name": "gasOracle", "inputs": [], "outputs": [ { @@ -96,20 +96,20 @@ }, { "type": "function", - "name": "gasOracle", + "name": "getClaimableAmount", "inputs": [], "outputs": [ { "name": "", - "type": "address", - "internalType": "address" + "type": "uint256", + "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", - "name": "getClaimFeeAmount", + "name": "getClaimerFraction", "inputs": [], "outputs": [ { @@ -122,7 +122,7 @@ }, { "type": "function", - "name": "getClaimFeeFraction", + "name": "getClaimerReward", "inputs": [], "outputs": [ { @@ -133,6 +133,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getModuleFee", @@ -276,6 +289,11 @@ "type": "uint64", "internalType": "uint64" }, + { + "name": "batchNonce", + "type": "uint64", + "internalType": "uint64" + }, { "name": "versionedBatch", "type": "bytes", @@ -287,10 +305,10 @@ }, { "type": "function", - "name": "setClaimFeeFraction", + "name": "setClaimerFraction", "inputs": [ { - "name": "claimFeeFraction", + "name": "claimerFraction", "type": "uint256", "internalType": "uint256" } @@ -300,10 +318,10 @@ }, { "type": "function", - "name": "setFeeCollector", + "name": "setFeeRecipient", "inputs": [ { - "name": "feeCollector_", + "name": "feeRecipient", "type": "address", "internalType": "address" } @@ -438,10 +456,10 @@ }, { "type": "event", - "name": "ClaimFeeFractionSet", + "name": "ClaimerFractionSet", "inputs": [ { - "name": "claimFeeFraction", + "name": "claimerFraction", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -451,10 +469,10 @@ }, { "type": "event", - "name": "FeeCollectorSet", + "name": "FeeRecipientSet", "inputs": [ { - "name": "feeCollector", + "name": "feeRecipient", "type": "address", "indexed": false, "internalType": "address" @@ -467,13 +485,13 @@ "name": "FeesClaimed", "inputs": [ { - "name": "feeCollector", + "name": "feeRecipient", "type": "address", "indexed": false, "internalType": "address" }, { - "name": "collectedFees", + "name": "claimedFees", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -485,7 +503,7 @@ "internalType": "address" }, { - "name": "claimerFee", + "name": "claimerReward", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -634,31 +652,15 @@ }, { "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainModule__IncorrectSourceChainId", + "name": "ClaimableFees__ClaimerFractionAboveMax", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - } - ] - }, - { - "type": "error", - "name": "InterchainModule__InsufficientFee", - "inputs": [ - { - "name": "actual", + "name": "claimerFraction", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "maxAllowed", "type": "uint256", "internalType": "uint256" } @@ -666,7 +668,22 @@ }, { "type": "error", - "name": "InterchainModule__NotInterchainDB", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainModule__CallerNotInterchainDB", "inputs": [ { "name": "caller", @@ -677,7 +694,7 @@ }, { "type": "error", - "name": "InterchainModule__SameChainId", + "name": "InterchainModule__ChainIdNotRemote", "inputs": [ { "name": "chainId", @@ -688,21 +705,26 @@ }, { "type": "error", - "name": "OwnableInvalidOwner", + "name": "InterchainModule__FeeAmountBelowMin", "inputs": [ { - "name": "owner", - "type": "address", - "internalType": "address" + "name": "feeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "OwnableUnauthorizedAccount", + "name": "OwnableInvalidOwner", "inputs": [ { - "name": "account", + "name": "owner", "type": "address", "internalType": "address" } @@ -710,18 +732,18 @@ }, { "type": "error", - "name": "SynapseModule__ClaimFeeFractionExceedsMax", + "name": "OwnableUnauthorizedAccount", "inputs": [ { - "name": "claimFeeFraction", - "type": "uint256", - "internalType": "uint256" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "SynapseModule__FeeCollectorNotSet", + "name": "SynapseModule__FeeRecipientZeroAddress", "inputs": [] }, { @@ -737,28 +759,33 @@ }, { "type": "error", - "name": "SynapseModule__GasOracleNotSet", + "name": "SynapseModule__GasOracleZeroAddress", "inputs": [] }, { "type": "error", - "name": "SynapseModule__NoFeesToClaim", + "name": "ThresholdECDSA__RecoveredSignersNotSorted", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__AlreadySigner", + "name": "ThresholdECDSA__SignaturesAmountBelowThreshold", "inputs": [ { - "name": "account", - "type": "address", - "internalType": "address" + "name": "signaturesAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "threshold", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "ThresholdECDSA__IncorrectSignaturesLength", + "name": "ThresholdECDSA__SignaturesPayloadLengthInvalid", "inputs": [ { "name": "length", @@ -769,65 +796,50 @@ }, { "type": "error", - "name": "ThresholdECDSA__InvalidSignature", + "name": "ThresholdECDSA__SignerAlreadyAdded", "inputs": [ { - "name": "signature", - "type": "bytes", - "internalType": "bytes" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "ThresholdECDSA__NotEnoughSignatures", + "name": "ThresholdECDSA__SignerNotAdded", "inputs": [ { - "name": "provided", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "threshold", - "type": "uint256", - "internalType": "uint256" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "ThresholdECDSA__NotSigner", + "name": "ThresholdECDSA__SignerRecoveryFailed", "inputs": [ { - "name": "account", - "type": "address", - "internalType": "address" + "name": "signature", + "type": "bytes", + "internalType": "bytes" } ] }, { "type": "error", - "name": "ThresholdECDSA__RecoveredSignersNotSorted", + "name": "ThresholdECDSA__SignerZeroAddress", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__ZeroAddress", + "name": "ThresholdECDSA__ThresholdZero", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__ZeroThreshold", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -835,6 +847,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/arb_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/arb_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json index 42612ffa2c..be62ba1643 100644 --- a/packages/contracts-communication/deployments/arb_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/arb_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0xEB8f63C97B3B1dF220e3f61534F12cEC68573924", - "constructorArgs": "0x000000000000000000000000ca30cefa3321fb5b0eb32006ebc9f26757c78c9c000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000", + "address": "0x16006C628A3164B8D6C25E6Ad4Facf59cD205AB8", + "constructorArgs": "0x000000000000000000000000af3b718677ae400cb321a2143966cbae762a9ef6000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000", "receipt": { - "hash": "0xb1d77fb5b688a59dedcfd6b2b46322bdc1b8fc75092d1f95ffb1fc03bd3793f0", - "blockNumber": 34357743 + "hash": "0xe5bf1cf943d043fb36e72b542eb0570794b26580fc6114225cd7184d3c02a031", + "blockNumber": 41157184 }, "abi": [ { diff --git a/packages/contracts-communication/deployments/eth_sepolia/ExecutionFees.json b/packages/contracts-communication/deployments/eth_sepolia/ExecutionFees.json deleted file mode 100644 index 5e8a4a4dea..0000000000 --- a/packages/contracts-communication/deployments/eth_sepolia/ExecutionFees.json +++ /dev/null @@ -1,534 +0,0 @@ -{ - "address": "0x0fD219B1FabBb32ab9d7FcA3A5bF91C74bBCD32B", - "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", - "receipt": { - "hash": "0xbdead5adc2bf95d810b99cfdef3d2129809c99a3e753321c60b98a4555f34be0", - "blockNumber": 5712792 - }, - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "admin", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RECORDER_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "accumulatedRewards", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalAccumulated", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "addExecutionFee", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "claimExecutionFees", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "executionFee", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "fee", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "recordExecutor", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recordedExecutor", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "callerConfirmation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "unclaimedRewards", - "inputs": [ - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "totalClaimed", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "ExecutionFeeAdded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "totalFee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutionFeesAwarded", - "inputs": [ - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutionFeesClaimed", - "inputs": [ - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ExecutorRecorded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AccessControlBadConfirmation", - "inputs": [] - }, - { - "type": "error", - "name": "AccessControlUnauthorizedAccount", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - }, - { - "name": "neededRole", - "type": "bytes32", - "internalType": "bytes32" - } - ] - }, - { - "type": "error", - "name": "AddressInsufficientBalance", - "inputs": [ - { - "name": "account", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExecutionFees__AlreadyRecorded", - "inputs": [ - { - "name": "dstChainId", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "transactionId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "executor", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "ExecutionFees__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "ExecutionFees__ZeroAmount", - "inputs": [] - }, - { - "type": "error", - "name": "FailedInnerCall", - "inputs": [] - } - ] -} \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json b/packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json index 42239195d4..af4c42f9f9 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json +++ b/packages/contracts-communication/deployments/eth_sepolia/InterchainClientV1.json @@ -1,9 +1,9 @@ { - "address": "0xfcb988E117dbAa8c8b48047afd7c22d4a8321bCA", - "constructorArgs": "0x0000000000000000000000001ce3a9d87a26ae56a43a5bb1d5e9a8d14550d0a4000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", + "address": "0x6bAb7426099ba52ac37F309903169C4c0A5f7534", + "constructorArgs": "0x0000000000000000000000008d50e833331a0d01d6f286881ce2c3a5dad12e26000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xddb503be3046c579c38d71df13ac6eda25a43a54adbc7ae1796df99ef419a769", - "blockNumber": 5712788 + "hash": "0xed5ce09fc0316bff5d6f4046e6337b5ce510e75629b1073c61c9d1c7fc4763b0", + "blockNumber": 5847938 }, "abi": [ { @@ -79,6 +79,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "defaultGuard", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "encodeTransaction", @@ -140,19 +153,6 @@ ], "stateMutability": "pure" }, - { - "type": "function", - "name": "executionFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, { "type": "function", "name": "getAppReceivingConfigV1", @@ -178,6 +178,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] }, @@ -304,6 +314,82 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getTxReadinessV1", + "inputs": [ + { + "name": "icTx", + "type": "tuple", + "internalType": "struct InterchainTransaction", + "components": [ + { + "name": "srcChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dstChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "srcSender", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "dstReceiver", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "options", + "type": "bytes", + "internalType": "bytes" + }, + { + "name": "message", + "type": "bytes", + "internalType": "bytes" + } + ] + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "status", + "type": "uint8", + "internalType": "enum IInterchainClientV1.TxReadiness" + }, + { + "name": "firstArg", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "secondArg", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "interchainExecute", @@ -495,10 +581,10 @@ }, { "type": "function", - "name": "setExecutionFees", + "name": "setDefaultGuard", "inputs": [ { - "name": "executionFees_", + "name": "guard", "type": "address", "internalType": "address" } @@ -563,10 +649,10 @@ }, { "type": "event", - "name": "ExecutionFeesSet", + "name": "DefaultGuardSet", "inputs": [ { - "name": "executionFees", + "name": "guard", "type": "address", "indexed": false, "internalType": "address" @@ -755,7 +841,7 @@ }, { "type": "error", - "name": "AppConfigLib__IncorrectVersion", + "name": "AppConfigLib__VersionInvalid", "inputs": [ { "name": "version", @@ -766,23 +852,34 @@ }, { "type": "error", - "name": "InterchainClientV1__FeeAmountTooLow", + "name": "BatchingV1__EntryIndexNotZero", "inputs": [ { - "name": "actual", - "type": "uint256", - "internalType": "uint256" - }, + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "BatchingV1__ProofNotEmpty", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__BatchConflict", + "inputs": [ { - "name": "required", - "type": "uint256", - "internalType": "uint256" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainClientV1__IncorrectDstChainId", + "name": "InterchainClientV1__ChainIdNotLinked", "inputs": [ { "name": "chainId", @@ -793,15 +890,42 @@ }, { "type": "error", - "name": "InterchainClientV1__IncorrectMsgValue", + "name": "InterchainClientV1__ChainIdNotRemote", "inputs": [ { - "name": "actual", + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__DstChainIdNotLocal", + "inputs": [ + { + "name": "chainId", + "type": "uint64", + "internalType": "uint64" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ExecutionServiceZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__FeeAmountBelowMin", + "inputs": [ + { + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -809,29 +933,28 @@ }, { "type": "error", - "name": "InterchainClientV1__InvalidTransactionVersion", + "name": "InterchainClientV1__GasLeftBelowMin", "inputs": [ { - "name": "version", - "type": "uint16", - "internalType": "uint16" + "name": "gasLeft", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainClientV1__NoLinkedClient", - "inputs": [ - { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - } - ] + "name": "InterchainClientV1__GuardZeroAddress", + "inputs": [] }, { "type": "error", - "name": "InterchainClientV1__NotEVMClient", + "name": "InterchainClientV1__LinkedClientNotEVM", "inputs": [ { "name": "client", @@ -842,15 +965,10 @@ }, { "type": "error", - "name": "InterchainClientV1__NotEnoughGasSupplied", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainClientV1__NotEnoughResponses", + "name": "InterchainClientV1__MsgValueMismatch", "inputs": [ { - "name": "actual", + "name": "msgValue", "type": "uint256", "internalType": "uint256" }, @@ -863,12 +981,44 @@ }, { "type": "error", - "name": "InterchainClientV1__NotRemoteChainId", + "name": "InterchainClientV1__ReceiverNotICApp", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ReceiverZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainClientV1__ReceiverZeroRequiredResponses", + "inputs": [ + { + "name": "receiver", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "InterchainClientV1__ResponsesAmountBelowMin", + "inputs": [ + { + "name": "responsesAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, @@ -896,17 +1046,23 @@ }, { "type": "error", - "name": "InterchainClientV1__ZeroReceiver", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainClientV1__ZeroRequiredResponses", - "inputs": [] + "name": "InterchainClientV1__TxVersionMismatch", + "inputs": [ + { + "name": "txVersion", + "type": "uint16", + "internalType": "uint16" + }, + { + "name": "required", + "type": "uint16", + "internalType": "uint16" + } + ] }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -955,12 +1111,7 @@ }, { "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -968,6 +1119,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json b/packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json index 73c1e7a9a5..5f3dfa8a04 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json +++ b/packages/contracts-communication/deployments/eth_sepolia/InterchainDB.json @@ -1,9 +1,9 @@ { - "address": "0x1Ce3a9d87A26Ae56a43a5BB1D5e9A8D14550D0a4", + "address": "0x8d50e833331A0D01d6F286881ce2C3A5DAD12e26", "constructorArgs": "0x", "receipt": { - "hash": "0x2efd5f79af2d52c4e382c4b016a50323f1e2724d54375d4a31ffd26d2eef2115", - "blockNumber": 5712772 + "hash": "0xd3cc2a04b2f37aa61ac965af8264198031d925236d55825b124fd3da9358e491", + "blockNumber": 5847919 }, "abi": [ { @@ -21,7 +21,7 @@ }, { "type": "function", - "name": "checkVerification", + "name": "checkBatchVerification", "inputs": [ { "name": "dstModule", @@ -29,9 +29,9 @@ "internalType": "address" }, { - "name": "entry", + "name": "batch", "type": "tuple", - "internalType": "struct InterchainEntry", + "internalType": "struct InterchainBatch", "components": [ { "name": "srcChainId", @@ -44,26 +44,11 @@ "internalType": "uint64" }, { - "name": "entryIndex", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "srcWriter", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "dataHash", + "name": "batchRoot", "type": "bytes32", "internalType": "bytes32" } ] - }, - { - "name": "proof", - "type": "bytes32[]", - "internalType": "bytes32[]" } ], "outputs": [ @@ -159,6 +144,57 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getBatchRoot", + "inputs": [ + { + "name": "entry", + "type": "tuple", + "internalType": "struct InterchainEntry", + "components": [ + { + "name": "srcChainId", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "srcWriter", + "type": "bytes32", + "internalType": "bytes32" + }, + { + "name": "dataHash", + "type": "bytes32", + "internalType": "bytes32" + } + ] + }, + { + "name": "proof", + "type": "bytes32[]", + "internalType": "bytes32[]" + } + ], + "outputs": [ + { + "name": "", + "type": "bytes32", + "internalType": "bytes32" + } + ], + "stateMutability": "pure" + }, { "type": "function", "name": "getBatchSize", @@ -281,6 +317,25 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getVersionedBatch", + "inputs": [ + { + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + } + ], + "outputs": [ + { + "name": "versionedBatch", + "type": "bytes", + "internalType": "bytes" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "requestBatchVerification", @@ -489,10 +544,10 @@ }, { "type": "error", - "name": "InterchainDB__BatchDoesNotExist", + "name": "BatchingV1__EntryIndexNotZero", "inputs": [ { - "name": "dbNonce", + "name": "entryIndex", "type": "uint64", "internalType": "uint64" } @@ -500,18 +555,12 @@ }, { "type": "error", - "name": "InterchainDB__BatchNotFinalized", - "inputs": [ - { - "name": "dbNonce", - "type": "uint64", - "internalType": "uint64" - } - ] + "name": "BatchingV1__ProofNotEmpty", + "inputs": [] }, { "type": "error", - "name": "InterchainDB__ConflictingBatches", + "name": "InterchainDB__BatchConflict", "inputs": [ { "name": "module", @@ -549,55 +598,55 @@ }, { "type": "error", - "name": "InterchainDB__EntryIndexOutOfRange", + "name": "InterchainDB__BatchVersionMismatch", "inputs": [ { - "name": "dbNonce", - "type": "uint64", - "internalType": "uint64" - }, - { - "name": "entryIndex", - "type": "uint64", - "internalType": "uint64" + "name": "version", + "type": "uint16", + "internalType": "uint16" }, { - "name": "batchSize", - "type": "uint64", - "internalType": "uint64" + "name": "required", + "type": "uint16", + "internalType": "uint16" } ] }, { "type": "error", - "name": "InterchainDB__IncorrectFeeAmount", + "name": "InterchainDB__ChainIdNotRemote", "inputs": [ { - "name": "actualFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "expectedFee", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainDB__InvalidBatchVersion", + "name": "InterchainDB__EntryIndexOutOfRange", "inputs": [ { - "name": "version", - "type": "uint16", - "internalType": "uint16" + "name": "dbNonce", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "entryIndex", + "type": "uint64", + "internalType": "uint64" + }, + { + "name": "batchSize", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainDB__InvalidEntryRange", + "name": "InterchainDB__EntryRangeInvalid", "inputs": [ { "name": "dbNonce", @@ -618,20 +667,25 @@ }, { "type": "error", - "name": "InterchainDB__NoModulesSpecified", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainDB__SameChainId", + "name": "InterchainDB__FeeAmountBelowMin", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "feeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, + { + "type": "error", + "name": "InterchainDB__ModulesNotProvided", + "inputs": [] + }, { "type": "error", "name": "SafeCastOverflowedUintDowncast", @@ -650,7 +704,7 @@ }, { "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", diff --git a/packages/contracts-communication/deployments/eth_sepolia/LegacyPingPong.json b/packages/contracts-communication/deployments/eth_sepolia/LegacyPingPong.json index e16b7643a2..8917416e09 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/LegacyPingPong.json +++ b/packages/contracts-communication/deployments/eth_sepolia/LegacyPingPong.json @@ -1,9 +1,9 @@ { - "address": "0x8CdBa6b4de7553E36ed9C755d726b0D02D1873EF", + "address": "0xda3b7cB145EE712b10a00a7A8da33580EB784f1B", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xbac2066b26a5464f307b155855ae7e401c3995d0beb13611fd9cf82b8e7b2428", - "blockNumber": 5712808 + "hash": "0x4a925d88a4d24e6fe2eb5e08c128d0af5790955f2ab65382dd3515a603b9746b", + "blockNumber": 5847953 }, "abi": [ { @@ -336,7 +336,7 @@ }, { "type": "error", - "name": "LegacyReceiver__BalanceTooLow", + "name": "LegacyReceiver__BalanceBelowMin", "inputs": [ { "name": "actual", @@ -352,7 +352,7 @@ }, { "type": "error", - "name": "LegacyReceiver__NotMessageBus", + "name": "LegacyReceiver__CallerNotMessageBus", "inputs": [ { "name": "caller", @@ -363,34 +363,34 @@ }, { "type": "error", - "name": "LegacyReceiver__NotTrustedRemote", + "name": "LegacyReceiver__ChainIdNotRemote", "inputs": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" - }, - { - "name": "srcCaller", - "type": "bytes32", - "internalType": "bytes32" } ] }, { "type": "error", - "name": "LegacyReceiver__SameChainId", + "name": "LegacyReceiver__SrcCallerNotTrusted", "inputs": [ { "name": "chainId", "type": "uint256", "internalType": "uint256" + }, + { + "name": "srcCaller", + "type": "bytes32", + "internalType": "bytes32" } ] }, { "type": "error", - "name": "LegacyReceiver__TrustedRemoteNotSet", + "name": "LegacyReceiver__TrustedRemoteZeroAddress", "inputs": [ { "name": "chainId", diff --git a/packages/contracts-communication/deployments/eth_sepolia/MessageBus.json b/packages/contracts-communication/deployments/eth_sepolia/MessageBus.json index c3db59bdb7..3d09db3334 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/MessageBus.json +++ b/packages/contracts-communication/deployments/eth_sepolia/MessageBus.json @@ -1,9 +1,9 @@ { - "address": "0x8D2F5587f094D97cb6c5607601dDc6b97d486635", + "address": "0x6c10B9C27233E80C8b58EE875a0CaA27D50fd134", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x78cf1502a921afcf6b158432b829cd40099efbb59cbc6c485bd72f43acbd55e8", - "blockNumber": 5719544 + "hash": "0x7afcd2576d4345567fb842dce302cf0f59d12e34d6ff43fa6ac14db559805f0a", + "blockNumber": 5847948 }, "abi": [ { @@ -192,6 +192,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] } @@ -567,21 +577,14 @@ "name": "setAppConfigV1", "inputs": [ { - "name": "appConfig", - "type": "tuple", - "internalType": "struct AppConfigV1", - "components": [ - { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" - } - ] + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ], "outputs": [], @@ -996,31 +999,31 @@ }, { "type": "error", - "name": "InterchainApp__AlreadyLatestClient", + "name": "InterchainApp__AppConfigInvalid", "inputs": [ { - "name": "client", - "type": "address", - "internalType": "address" + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainApp__AppZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__BalanceTooLow", + "name": "InterchainApp__BalanceBelowMin", "inputs": [ { - "name": "actual", + "name": "balance", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -1028,10 +1031,10 @@ }, { "type": "error", - "name": "InterchainApp__ClientAlreadyAdded", + "name": "InterchainApp__CallerNotInterchainClient", "inputs": [ { - "name": "client", + "name": "caller", "type": "address", "internalType": "address" } @@ -1039,31 +1042,21 @@ }, { "type": "error", - "name": "InterchainApp__InterchainClientZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__InvalidAppConfig", + "name": "InterchainApp__ChainIdNotRemote", "inputs": [ { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainApp__ModuleAlreadyAdded", + "name": "InterchainApp__InterchainClientAlreadyAdded", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -1071,10 +1064,10 @@ }, { "type": "error", - "name": "InterchainApp__ModuleNotAdded", + "name": "InterchainApp__InterchainClientAlreadyLatest", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -1082,12 +1075,12 @@ }, { "type": "error", - "name": "InterchainApp__ModuleZeroAddress", + "name": "InterchainApp__InterchainClientZeroAddress", "inputs": [] }, { "type": "error", - "name": "InterchainApp__NotEVMLinkedApp", + "name": "InterchainApp__LinkedAppNotEVM", "inputs": [ { "name": "linkedApp", @@ -1098,10 +1091,10 @@ }, { "type": "error", - "name": "InterchainApp__NotInterchainClient", + "name": "InterchainApp__ModuleAlreadyAdded", "inputs": [ { - "name": "account", + "name": "module", "type": "address", "internalType": "address" } @@ -1109,18 +1102,23 @@ }, { "type": "error", - "name": "InterchainApp__ReceiverNotSet", + "name": "InterchainApp__ModuleNotAdded", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainApp__SameChainId", + "name": "InterchainApp__ModuleZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__ReceiverZeroAddress", "inputs": [ { "name": "chainId", @@ -1131,7 +1129,12 @@ }, { "type": "error", - "name": "InterchainApp__SenderNotAllowed", + "name": "InterchainApp__RemoteAppZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__SrcSenderNotAllowed", "inputs": [ { "name": "srcChainId", @@ -1147,7 +1150,7 @@ }, { "type": "error", - "name": "LegacyOptionsLib__InvalidOptions", + "name": "LegacyOptionsLib__PayloadInvalid", "inputs": [ { "name": "legacyOpts", @@ -1158,7 +1161,7 @@ }, { "type": "error", - "name": "MessageBus__NotEVMReceiver", + "name": "MessageBus__ReceiverNotEVM", "inputs": [ { "name": "receiver", diff --git a/packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json b/packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json index a5e2ce8f3f..32f73962b5 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json +++ b/packages/contracts-communication/deployments/eth_sepolia/PingPongApp.json @@ -1,9 +1,9 @@ { - "address": "0x8dA1BEd6ff65C7A8f0459822B52f8d40BbB549a0", + "address": "0xD6dCB592B06875214D0D58d777081202034c6756", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0xbd6ad3c6ac55bdc6c1a259cb2cc4d0c51a9aa5b0551eed4636c904ef16204928", - "blockNumber": 5719541 + "hash": "0xa4658be7494a11ff23c21508527a1f8774078709a95a6ca23d4fff0bf3e797f2", + "blockNumber": 5847943 }, "abi": [ { @@ -143,6 +143,16 @@ "name": "optimisticPeriod", "type": "uint256", "internalType": "uint256" + }, + { + "name": "guardFlag", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "guard", + "type": "address", + "internalType": "address" } ] } @@ -483,21 +493,14 @@ "name": "setAppConfigV1", "inputs": [ { - "name": "appConfig", - "type": "tuple", - "internalType": "struct AppConfigV1", - "components": [ - { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" - } - ] + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ], "outputs": [], @@ -892,31 +895,31 @@ }, { "type": "error", - "name": "InterchainApp__AlreadyLatestClient", + "name": "InterchainApp__AppConfigInvalid", "inputs": [ { - "name": "client", - "type": "address", - "internalType": "address" + "name": "requiredResponses", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "optimisticPeriod", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "InterchainApp__AppZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__BalanceTooLow", + "name": "InterchainApp__BalanceBelowMin", "inputs": [ { - "name": "actual", + "name": "balance", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -924,10 +927,10 @@ }, { "type": "error", - "name": "InterchainApp__ClientAlreadyAdded", + "name": "InterchainApp__CallerNotInterchainClient", "inputs": [ { - "name": "client", + "name": "caller", "type": "address", "internalType": "address" } @@ -935,31 +938,21 @@ }, { "type": "error", - "name": "InterchainApp__InterchainClientZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainApp__InvalidAppConfig", + "name": "InterchainApp__ChainIdNotRemote", "inputs": [ { - "name": "requiredResponses", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "optimisticPeriod", - "type": "uint256", - "internalType": "uint256" + "name": "chainId", + "type": "uint64", + "internalType": "uint64" } ] }, { "type": "error", - "name": "InterchainApp__ModuleAlreadyAdded", + "name": "InterchainApp__InterchainClientAlreadyAdded", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -967,10 +960,10 @@ }, { "type": "error", - "name": "InterchainApp__ModuleNotAdded", + "name": "InterchainApp__InterchainClientAlreadyLatest", "inputs": [ { - "name": "module", + "name": "client", "type": "address", "internalType": "address" } @@ -978,12 +971,12 @@ }, { "type": "error", - "name": "InterchainApp__ModuleZeroAddress", + "name": "InterchainApp__InterchainClientZeroAddress", "inputs": [] }, { "type": "error", - "name": "InterchainApp__NotEVMLinkedApp", + "name": "InterchainApp__LinkedAppNotEVM", "inputs": [ { "name": "linkedApp", @@ -994,10 +987,10 @@ }, { "type": "error", - "name": "InterchainApp__NotInterchainClient", + "name": "InterchainApp__ModuleAlreadyAdded", "inputs": [ { - "name": "account", + "name": "module", "type": "address", "internalType": "address" } @@ -1005,18 +998,23 @@ }, { "type": "error", - "name": "InterchainApp__ReceiverNotSet", + "name": "InterchainApp__ModuleNotAdded", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" + "name": "module", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "InterchainApp__SameChainId", + "name": "InterchainApp__ModuleZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__ReceiverZeroAddress", "inputs": [ { "name": "chainId", @@ -1027,7 +1025,12 @@ }, { "type": "error", - "name": "InterchainApp__SenderNotAllowed", + "name": "InterchainApp__RemoteAppZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainApp__SrcSenderNotAllowed", "inputs": [ { "name": "srcChainId", diff --git a/packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json index 55407af0ce..60c93e2a4e 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/eth_sepolia/ProxyAdmin.SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0xa84ec5D5027E67c20937e1266f2b04F131DA5027", + "address": "0xfc5aa03c3985154eDf6fEF03cECa00214827ff9b", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x4e22905b6cc1e9ec5436c123c539795cf614e8558ae3f05a74c503961bf9bcde", - "blockNumber": 5712784 + "hash": "0x73205ad465e106e58f9fbe107bddd4267829af811f614957e0c7cae7b549f26b", + "blockNumber": 5847930 }, "abi": [ { diff --git a/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json b/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json index 16b4399608..fb09d304b9 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json +++ b/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.Implementation.json @@ -1,9 +1,9 @@ { - "address": "0xE424490d88562F8123AC756f9A7ffa173630DB4E", + "address": "0xEaF2728Fa62C3acaEA43D796219fc83019C04B2b", "constructorArgs": "0x", "receipt": { - "hash": "0x221171644ba5b06767d060e6e1d69657b686346f97b3c49847c2dfa8b5a5ca67", - "blockNumber": 5712784 + "hash": "0x0bdd2845acd5f2f5734d41303e98f4d6019b680736274983713aa3b7d18925ac", + "blockNumber": 5847930 }, "abi": [ { @@ -50,6 +50,13 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "claimFees", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "executorEOA", @@ -76,6 +83,45 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getClaimableAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerFraction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getExecutionFee", @@ -105,6 +151,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getRoleAdmin", @@ -212,7 +271,7 @@ }, { "type": "function", - "name": "requestExecution", + "name": "requestTxExecution", "inputs": [ { "name": "dstChainId", @@ -229,11 +288,6 @@ "type": "bytes32", "internalType": "bytes32" }, - { - "name": "executionFee", - "type": "uint256", - "internalType": "uint256" - }, { "name": "options", "type": "bytes", @@ -241,7 +295,7 @@ } ], "outputs": [], - "stateMutability": "nonpayable" + "stateMutability": "payable" }, { "type": "function", @@ -261,6 +315,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setClaimerFraction", + "inputs": [ + { + "name": "claimerFraction_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setExecutorEOA", @@ -319,6 +386,19 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "ClaimerFractionSet", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "ExecutionRequested", @@ -334,6 +414,12 @@ "type": "address", "indexed": false, "internalType": "address" + }, + { + "name": "executionFee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" } ], "anonymous": false @@ -351,6 +437,50 @@ ], "anonymous": false }, + { + "type": "event", + "name": "FeeRecipientSet", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeesClaimed", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimedFees", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimerReward", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "GasOracleSet", @@ -486,6 +616,48 @@ } ] }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__ClaimerFractionAboveMax", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxAllowed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, { "type": "error", "name": "InvalidInitialization", @@ -498,7 +670,7 @@ }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -509,15 +681,20 @@ }, { "type": "error", - "name": "SynapseExecutionService__FeeAmountTooLow", + "name": "SynapseExecutionService__ExecutorZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SynapseExecutionService__FeeAmountBelowMin", "inputs": [ { - "name": "actual", + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -525,7 +702,18 @@ }, { "type": "error", - "name": "SynapseExecutionService__GasOracleNotSet", + "name": "SynapseExecutionService__GasOracleNotContract", + "inputs": [ + { + "name": "gasOracle", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SynapseExecutionService__GasOracleZeroAddress", "inputs": [] }, { @@ -541,17 +729,7 @@ }, { "type": "error", - "name": "SynapseExecutionService__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -559,6 +737,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json index b7fa353329..bc1ab10b80 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/eth_sepolia/SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0x4fA6eDe8E33e801CADB05eD0675DC6cfcD72ebC8", + "address": "0x6d50A69c8B21C0f8b8d1631f7E4B615d39e2653C", "constructorArgs": "0x", "receipt": { - "hash": "0x4e22905b6cc1e9ec5436c123c539795cf614e8558ae3f05a74c503961bf9bcde", - "blockNumber": 5712784 + "hash": "0x73205ad465e106e58f9fbe107bddd4267829af811f614957e0c7cae7b549f26b", + "blockNumber": 5847930 }, "abi": [ { @@ -50,6 +50,13 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "claimFees", + "inputs": [], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "executorEOA", @@ -76,6 +83,45 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getClaimableAmount", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerFraction", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getClaimerReward", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "uint256", + "internalType": "uint256" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getExecutionFee", @@ -105,6 +151,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getRoleAdmin", @@ -212,7 +271,7 @@ }, { "type": "function", - "name": "requestExecution", + "name": "requestTxExecution", "inputs": [ { "name": "dstChainId", @@ -229,11 +288,6 @@ "type": "bytes32", "internalType": "bytes32" }, - { - "name": "executionFee", - "type": "uint256", - "internalType": "uint256" - }, { "name": "options", "type": "bytes", @@ -241,7 +295,7 @@ } ], "outputs": [], - "stateMutability": "nonpayable" + "stateMutability": "payable" }, { "type": "function", @@ -261,6 +315,19 @@ "outputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "setClaimerFraction", + "inputs": [ + { + "name": "claimerFraction_", + "type": "uint256", + "internalType": "uint256" + } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, { "type": "function", "name": "setExecutorEOA", @@ -319,6 +386,19 @@ ], "stateMutability": "view" }, + { + "type": "event", + "name": "ClaimerFractionSet", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "ExecutionRequested", @@ -334,6 +414,12 @@ "type": "address", "indexed": false, "internalType": "address" + }, + { + "name": "executionFee", + "type": "uint256", + "indexed": false, + "internalType": "uint256" } ], "anonymous": false @@ -351,6 +437,50 @@ ], "anonymous": false }, + { + "type": "event", + "name": "FeeRecipientSet", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FeesClaimed", + "inputs": [ + { + "name": "feeRecipient", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimedFees", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + }, + { + "name": "claimer", + "type": "address", + "indexed": false, + "internalType": "address" + }, + { + "name": "claimerReward", + "type": "uint256", + "indexed": false, + "internalType": "uint256" + } + ], + "anonymous": false + }, { "type": "event", "name": "GasOracleSet", @@ -486,6 +616,48 @@ } ] }, + { + "type": "error", + "name": "AddressInsufficientBalance", + "inputs": [ + { + "name": "account", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__ClaimerFractionAboveMax", + "inputs": [ + { + "name": "claimerFraction", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "maxAllowed", + "type": "uint256", + "internalType": "uint256" + } + ] + }, + { + "type": "error", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, { "type": "error", "name": "InvalidInitialization", @@ -498,7 +670,7 @@ }, { "type": "error", - "name": "OptionsLib__IncorrectVersion", + "name": "OptionsLib__VersionInvalid", "inputs": [ { "name": "version", @@ -509,15 +681,20 @@ }, { "type": "error", - "name": "SynapseExecutionService__FeeAmountTooLow", + "name": "SynapseExecutionService__ExecutorZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "SynapseExecutionService__FeeAmountBelowMin", "inputs": [ { - "name": "actual", + "name": "feeAmount", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "minRequired", "type": "uint256", "internalType": "uint256" } @@ -525,7 +702,18 @@ }, { "type": "error", - "name": "SynapseExecutionService__GasOracleNotSet", + "name": "SynapseExecutionService__GasOracleNotContract", + "inputs": [ + { + "name": "gasOracle", + "type": "address", + "internalType": "address" + } + ] + }, + { + "type": "error", + "name": "SynapseExecutionService__GasOracleZeroAddress", "inputs": [] }, { @@ -541,17 +729,7 @@ }, { "type": "error", - "name": "SynapseExecutionService__ZeroAddress", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -559,6 +737,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json b/packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json index 59a2d15eaf..6f3ebe092a 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json +++ b/packages/contracts-communication/deployments/eth_sepolia/SynapseGasOracleV1.json @@ -1,9 +1,9 @@ { - "address": "0x3BfcE077Cf306E1C7C3300E72aF6eE79AC997eCc", + "address": "0x9AaA36c80F6824c674419Bd0C5F6d76f865295ca", "constructorArgs": "0x000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x4b36c6953f669d7dc4d5384fac566b25751cab81704318401e2e1ca830219a6c", - "blockNumber": 5712777 + "hash": "0xe0719b81a125e39e9e6b9ee0e0e46777d28752fbab4e03a81a1da3a8c0dbd0e0", + "blockNumber": 5847922 }, "abi": [ { @@ -430,7 +430,7 @@ }, { "type": "error", - "name": "SynapseGasOracleV1__NativePriceNotSet", + "name": "SynapseGasOracleV1__ChainIdNotRemote", "inputs": [ { "name": "chainId", @@ -441,12 +441,7 @@ }, { "type": "error", - "name": "SynapseGasOracleV1__NativePriceZero", - "inputs": [] - }, - { - "type": "error", - "name": "SynapseGasOracleV1__NotRemoteChainId", + "name": "SynapseGasOracleV1__NativePriceNotSet", "inputs": [ { "name": "chainId", @@ -454,6 +449,11 @@ "internalType": "uint64" } ] + }, + { + "type": "error", + "name": "SynapseGasOracleV1__NativePriceZero", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json b/packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json index 16993bdbf1..e3d8139079 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json +++ b/packages/contracts-communication/deployments/eth_sepolia/SynapseModule.json @@ -1,9 +1,9 @@ { - "address": "0x95f2e2fAFE38f2aAdC9F9cBef98785809cc4bb6B", - "constructorArgs": "0x0000000000000000000000001ce3a9d87a26ae56a43a5bb1d5e9a8d14550d0a4000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", + "address": "0x93391bD1De68aFBAB10BB94BF3d36a4484B60eA2", + "constructorArgs": "0x0000000000000000000000008d50e833331a0d01d6f286881ce2c3a5dad12e26000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e4", "receipt": { - "hash": "0x5347793c4471a1d31ce1de3fe07a61ee2f5933e49353ada4673adb4f106e99f3", - "blockNumber": 5712781 + "hash": "0x0283d44cd3da1dbf1b8ceccf1afa57789ef55c57feb03dd9745d05dc437aea40", + "blockNumber": 5847925 }, "abi": [ { @@ -83,7 +83,7 @@ }, { "type": "function", - "name": "feeCollector", + "name": "gasOracle", "inputs": [], "outputs": [ { @@ -96,20 +96,20 @@ }, { "type": "function", - "name": "gasOracle", + "name": "getClaimableAmount", "inputs": [], "outputs": [ { "name": "", - "type": "address", - "internalType": "address" + "type": "uint256", + "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", - "name": "getClaimFeeAmount", + "name": "getClaimerFraction", "inputs": [], "outputs": [ { @@ -122,7 +122,7 @@ }, { "type": "function", - "name": "getClaimFeeFraction", + "name": "getClaimerReward", "inputs": [], "outputs": [ { @@ -133,6 +133,19 @@ ], "stateMutability": "view" }, + { + "type": "function", + "name": "getFeeRecipient", + "inputs": [], + "outputs": [ + { + "name": "", + "type": "address", + "internalType": "address" + } + ], + "stateMutability": "view" + }, { "type": "function", "name": "getModuleFee", @@ -276,6 +289,11 @@ "type": "uint64", "internalType": "uint64" }, + { + "name": "batchNonce", + "type": "uint64", + "internalType": "uint64" + }, { "name": "versionedBatch", "type": "bytes", @@ -287,10 +305,10 @@ }, { "type": "function", - "name": "setClaimFeeFraction", + "name": "setClaimerFraction", "inputs": [ { - "name": "claimFeeFraction", + "name": "claimerFraction", "type": "uint256", "internalType": "uint256" } @@ -300,10 +318,10 @@ }, { "type": "function", - "name": "setFeeCollector", + "name": "setFeeRecipient", "inputs": [ { - "name": "feeCollector_", + "name": "feeRecipient", "type": "address", "internalType": "address" } @@ -438,10 +456,10 @@ }, { "type": "event", - "name": "ClaimFeeFractionSet", + "name": "ClaimerFractionSet", "inputs": [ { - "name": "claimFeeFraction", + "name": "claimerFraction", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -451,10 +469,10 @@ }, { "type": "event", - "name": "FeeCollectorSet", + "name": "FeeRecipientSet", "inputs": [ { - "name": "feeCollector", + "name": "feeRecipient", "type": "address", "indexed": false, "internalType": "address" @@ -467,13 +485,13 @@ "name": "FeesClaimed", "inputs": [ { - "name": "feeCollector", + "name": "feeRecipient", "type": "address", "indexed": false, "internalType": "address" }, { - "name": "collectedFees", + "name": "claimedFees", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -485,7 +503,7 @@ "internalType": "address" }, { - "name": "claimerFee", + "name": "claimerReward", "type": "uint256", "indexed": false, "internalType": "uint256" @@ -634,31 +652,15 @@ }, { "type": "error", - "name": "FailedInnerCall", - "inputs": [] - }, - { - "type": "error", - "name": "InterchainModule__IncorrectSourceChainId", + "name": "ClaimableFees__ClaimerFractionAboveMax", "inputs": [ { - "name": "chainId", - "type": "uint64", - "internalType": "uint64" - } - ] - }, - { - "type": "error", - "name": "InterchainModule__InsufficientFee", - "inputs": [ - { - "name": "actual", + "name": "claimerFraction", "type": "uint256", "internalType": "uint256" }, { - "name": "required", + "name": "maxAllowed", "type": "uint256", "internalType": "uint256" } @@ -666,7 +668,22 @@ }, { "type": "error", - "name": "InterchainModule__NotInterchainDB", + "name": "ClaimableFees__FeeAmountZero", + "inputs": [] + }, + { + "type": "error", + "name": "ClaimableFees__FeeRecipientZeroAddress", + "inputs": [] + }, + { + "type": "error", + "name": "FailedInnerCall", + "inputs": [] + }, + { + "type": "error", + "name": "InterchainModule__CallerNotInterchainDB", "inputs": [ { "name": "caller", @@ -677,7 +694,7 @@ }, { "type": "error", - "name": "InterchainModule__SameChainId", + "name": "InterchainModule__ChainIdNotRemote", "inputs": [ { "name": "chainId", @@ -688,21 +705,26 @@ }, { "type": "error", - "name": "OwnableInvalidOwner", + "name": "InterchainModule__FeeAmountBelowMin", "inputs": [ { - "name": "owner", - "type": "address", - "internalType": "address" + "name": "feeAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "minRequired", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "OwnableUnauthorizedAccount", + "name": "OwnableInvalidOwner", "inputs": [ { - "name": "account", + "name": "owner", "type": "address", "internalType": "address" } @@ -710,18 +732,18 @@ }, { "type": "error", - "name": "SynapseModule__ClaimFeeFractionExceedsMax", + "name": "OwnableUnauthorizedAccount", "inputs": [ { - "name": "claimFeeFraction", - "type": "uint256", - "internalType": "uint256" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "SynapseModule__FeeCollectorNotSet", + "name": "SynapseModule__FeeRecipientZeroAddress", "inputs": [] }, { @@ -737,28 +759,33 @@ }, { "type": "error", - "name": "SynapseModule__GasOracleNotSet", + "name": "SynapseModule__GasOracleZeroAddress", "inputs": [] }, { "type": "error", - "name": "SynapseModule__NoFeesToClaim", + "name": "ThresholdECDSA__RecoveredSignersNotSorted", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__AlreadySigner", + "name": "ThresholdECDSA__SignaturesAmountBelowThreshold", "inputs": [ { - "name": "account", - "type": "address", - "internalType": "address" + "name": "signaturesAmount", + "type": "uint256", + "internalType": "uint256" + }, + { + "name": "threshold", + "type": "uint256", + "internalType": "uint256" } ] }, { "type": "error", - "name": "ThresholdECDSA__IncorrectSignaturesLength", + "name": "ThresholdECDSA__SignaturesPayloadLengthInvalid", "inputs": [ { "name": "length", @@ -769,65 +796,50 @@ }, { "type": "error", - "name": "ThresholdECDSA__InvalidSignature", + "name": "ThresholdECDSA__SignerAlreadyAdded", "inputs": [ { - "name": "signature", - "type": "bytes", - "internalType": "bytes" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "ThresholdECDSA__NotEnoughSignatures", + "name": "ThresholdECDSA__SignerNotAdded", "inputs": [ { - "name": "provided", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "threshold", - "type": "uint256", - "internalType": "uint256" + "name": "account", + "type": "address", + "internalType": "address" } ] }, { "type": "error", - "name": "ThresholdECDSA__NotSigner", + "name": "ThresholdECDSA__SignerRecoveryFailed", "inputs": [ { - "name": "account", - "type": "address", - "internalType": "address" + "name": "signature", + "type": "bytes", + "internalType": "bytes" } ] }, { "type": "error", - "name": "ThresholdECDSA__RecoveredSignersNotSorted", + "name": "ThresholdECDSA__SignerZeroAddress", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__ZeroAddress", + "name": "ThresholdECDSA__ThresholdZero", "inputs": [] }, { "type": "error", - "name": "ThresholdECDSA__ZeroThreshold", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__PrecompileFailed", - "inputs": [] - }, - { - "type": "error", - "name": "VersionedPayload__TooShort", + "name": "VersionedPayload__PayloadTooShort", "inputs": [ { "name": "versionedPayload", @@ -835,6 +847,11 @@ "internalType": "bytes" } ] + }, + { + "type": "error", + "name": "VersionedPayload__PrecompileFailed", + "inputs": [] } ] } \ No newline at end of file diff --git a/packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json b/packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json index 1a4151703e..344b1837d4 100644 --- a/packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json +++ b/packages/contracts-communication/deployments/eth_sepolia/TransparentUpgradeableProxy.SynapseExecutionServiceV1.json @@ -1,9 +1,9 @@ { - "address": "0x4fA6eDe8E33e801CADB05eD0675DC6cfcD72ebC8", - "constructorArgs": "0x000000000000000000000000e424490d88562f8123ac756f9a7ffa173630db4e000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000", + "address": "0x6d50A69c8B21C0f8b8d1631f7E4B615d39e2653C", + "constructorArgs": "0x000000000000000000000000eaf2728fa62c3acaea43d796219fc83019c04b2b000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000e7353bedc72d29f99d6ca5cde69f807cce5d57e400000000000000000000000000000000000000000000000000000000", "receipt": { - "hash": "0x4e22905b6cc1e9ec5436c123c539795cf614e8558ae3f05a74c503961bf9bcde", - "blockNumber": 5712784 + "hash": "0x73205ad465e106e58f9fbe107bddd4267829af811f614957e0c7cae7b549f26b", + "blockNumber": 5847930 }, "abi": [ { diff --git a/packages/contracts-communication/script/testnet-config.sh b/packages/contracts-communication/script/testnet-config.sh index 2b754d8884..e00dcff127 100755 --- a/packages/contracts-communication/script/testnet-config.sh +++ b/packages/contracts-communication/script/testnet-config.sh @@ -18,7 +18,6 @@ yarn fsr-str script/config/ConfigureSynapseModule.s.sol "$chainName" "$walletNam yarn fsr-str script/config/ConfigureSynapseExecutionServiceV1.s.sol "$chainName" "$walletName" testnet "$@" # Client contracts yarn fsr-str script/config/ConfigureClientV1.s.sol "$chainName" "$walletName" testnet "$@" -yarn fsr script/config/ConfigureExecutionFees.s.sol "$chainName" "$walletName" "$@" # Ping-Pong App yarn fsr-str script/config/ConfigurePingPongApp.s.sol "$chainName" "$walletName" testnet "$@" # Legacy contracts diff --git a/packages/contracts-communication/script/testnet-deploy.sh b/packages/contracts-communication/script/testnet-deploy.sh index 5a10092a64..1f2cd5d66f 100755 --- a/packages/contracts-communication/script/testnet-deploy.sh +++ b/packages/contracts-communication/script/testnet-deploy.sh @@ -22,7 +22,6 @@ yarn fsr script/deploy/DeploySynapseExecutionServiceV1.s.sol "$chainName" "$wall yarn vp "$chainName" SynapseExecutionServiceV1 # Client contracts yarn fsr script/deploy/DeployInterchainClientV1.s.sol "$chainName" "$walletName" "$@" -yarn fsr-str script/deploy/DeployWithMsgSender.s.sol "$chainName" "$walletName" ExecutionFees "$@" # Ping-Pong App yarn fsr-str script/deploy/DeployWithMsgSender.s.sol "$chainName" "$walletName" PingPongApp "$@" # Legacy contracts