declare const ICrossChainController_ABI: readonly [{ readonly type: "function"; readonly name: "allowReceiverBridgeAdapters"; readonly inputs: readonly [{ readonly name: "bridgeAdaptersInput"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[]"; readonly components: readonly [{ readonly name: "bridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "chainIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "approveSenders"; readonly inputs: readonly [{ readonly name: "senders"; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "deliverEnvelope"; readonly inputs: readonly [{ readonly name: "envelope"; readonly type: "tuple"; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "disableBridgeAdapters"; readonly inputs: readonly [{ readonly name: "bridgeAdapters"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainForwarder.BridgeAdapterToDisable[]"; readonly components: readonly [{ readonly name: "bridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "chainIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "disallowReceiverBridgeAdapters"; readonly inputs: readonly [{ readonly name: "bridgeAdaptersInput"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainReceiver.ReceiverBridgeAdapterConfigInput[]"; readonly components: readonly [{ readonly name: "bridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "chainIds"; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "emergencyEtherTransfer"; readonly inputs: readonly [{ readonly name: "to"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "emergencyTokenTransfer"; readonly inputs: readonly [{ readonly name: "erc20Token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "enableBridgeAdapters"; readonly inputs: readonly [{ readonly name: "bridgeAdapters"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]"; readonly components: readonly [{ readonly name: "currentChainBridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destinationBridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "forwardMessage"; readonly inputs: readonly [{ readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "gasLimit"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "getConfigurationByChain"; readonly inputs: readonly [{ readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct ICrossChainReceiver.ReceiverConfiguration"; readonly components: readonly [{ readonly name: "requiredConfirmation"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "validityTimestamp"; readonly type: "uint120"; readonly internalType: "uint120"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCurrentEnvelopeNonce"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getCurrentTransactionNonce"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getEnvelopeState"; readonly inputs: readonly [{ readonly name: "envelopeId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "enum ICrossChainReceiver.EnvelopeState"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getEnvelopeState"; readonly inputs: readonly [{ readonly name: "envelope"; readonly type: "tuple"; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; readonly internalType: "enum ICrossChainReceiver.EnvelopeState"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getForwarderBridgeAdaptersByChain"; readonly inputs: readonly [{ readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainForwarder.ChainIdBridgeConfig[]"; readonly components: readonly [{ readonly name: "destinationBridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "currentChainBridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getReceiverBridgeAdaptersByChain"; readonly inputs: readonly [{ readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getSupportedChains"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256[]"; readonly internalType: "uint256[]"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getTransactionState"; readonly inputs: readonly [{ readonly name: "transaction"; readonly type: "tuple"; readonly internalType: "struct Transaction"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "encodedEnvelope"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct ICrossChainReceiver.TransactionStateWithoutAdapters"; readonly components: readonly [{ readonly name: "confirmations"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "firstBridgedAt"; readonly type: "uint120"; readonly internalType: "uint120"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "getTransactionState"; readonly inputs: readonly [{ readonly name: "transactionId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "tuple"; readonly internalType: "struct ICrossChainReceiver.TransactionStateWithoutAdapters"; readonly components: readonly [{ readonly name: "confirmations"; readonly type: "uint8"; readonly internalType: "uint8"; }, { readonly name: "firstBridgedAt"; readonly type: "uint120"; readonly internalType: "uint120"; }]; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isEnvelopeRegistered"; readonly inputs: readonly [{ readonly name: "envelope"; readonly type: "tuple"; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isEnvelopeRegistered"; readonly inputs: readonly [{ readonly name: "envelopeId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isReceiverBridgeAdapterAllowed"; readonly inputs: readonly [{ readonly name: "bridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isSenderApproved"; readonly inputs: readonly [{ readonly name: "sender"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isTransactionForwarded"; readonly inputs: readonly [{ readonly name: "transactionId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isTransactionForwarded"; readonly inputs: readonly [{ readonly name: "transaction"; readonly type: "tuple"; readonly internalType: "struct Transaction"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "encodedEnvelope"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "isTransactionReceivedByAdapter"; readonly inputs: readonly [{ readonly name: "transactionId"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "bridgeAdapter"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "maxRescue"; readonly inputs: readonly [{ readonly name: "erc20Token"; readonly type: "address"; readonly internalType: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "receiveCrossChainMessage"; readonly inputs: readonly [{ readonly name: "encodedTransaction"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "removeSenders"; readonly inputs: readonly [{ readonly name: "senders"; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "retryEnvelope"; readonly inputs: readonly [{ readonly name: "envelope"; readonly type: "tuple"; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "gasLimit"; readonly type: "uint256"; readonly internalType: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "retryTransaction"; readonly inputs: readonly [{ readonly name: "encodedTransaction"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "gasLimit"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "bridgeAdaptersToRetry"; readonly type: "address[]"; readonly internalType: "address[]"; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateConfirmations"; readonly inputs: readonly [{ readonly name: "newConfirmations"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainReceiver.ConfirmationInput[]"; readonly components: readonly [{ readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "requiredConfirmations"; readonly type: "uint8"; readonly internalType: "uint8"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "updateMessagesValidityTimestamp"; readonly inputs: readonly [{ readonly name: "newValidityTimestamp"; readonly type: "tuple[]"; readonly internalType: "struct ICrossChainReceiver.ValidityTimestampInput[]"; readonly components: readonly [{ readonly name: "chainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "validityTimestamp"; readonly type: "uint120"; readonly internalType: "uint120"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "event"; readonly name: "BridgeAdapterUpdated"; readonly inputs: readonly [{ readonly name: "destinationChainId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "bridgeAdapter"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "destinationBridgeAdapter"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "allowed"; readonly type: "bool"; readonly indexed: true; readonly internalType: "bool"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ConfirmationsUpdated"; readonly inputs: readonly [{ readonly name: "newConfirmations"; readonly type: "uint8"; readonly indexed: false; readonly internalType: "uint8"; }, { readonly name: "chainId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ERC20Rescued"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EnvelopeDeliveryAttempted"; readonly inputs: readonly [{ readonly name: "envelopeId"; readonly type: "bytes32"; readonly indexed: false; readonly internalType: "bytes32"; }, { readonly name: "envelope"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "isDelivered"; readonly type: "bool"; readonly indexed: false; readonly internalType: "bool"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "EnvelopeRegistered"; readonly inputs: readonly [{ readonly name: "envelopeId"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "envelope"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct Envelope"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "origin"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "destination"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "message"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NativeTokensRescued"; readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "to"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewInvalidation"; readonly inputs: readonly [{ readonly name: "invalidTimestamp"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "chainId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "ReceiverBridgeAdaptersUpdated"; readonly inputs: readonly [{ readonly name: "bridgeAdapter"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "allowed"; readonly type: "bool"; readonly indexed: true; readonly internalType: "bool"; }, { readonly name: "chainId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SenderUpdated"; readonly inputs: readonly [{ readonly name: "sender"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "isApproved"; readonly type: "bool"; readonly indexed: true; readonly internalType: "bool"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "TransactionForwardingAttempted"; readonly inputs: readonly [{ readonly name: "transactionId"; readonly type: "bytes32"; readonly indexed: false; readonly internalType: "bytes32"; }, { readonly name: "envelopeId"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "encodedTransaction"; readonly type: "bytes"; readonly indexed: false; readonly internalType: "bytes"; }, { readonly name: "destinationChainId"; readonly type: "uint256"; readonly indexed: false; readonly internalType: "uint256"; }, { readonly name: "bridgeAdapter"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "destinationBridgeAdapter"; readonly type: "address"; readonly indexed: false; readonly internalType: "address"; }, { readonly name: "adapterSuccessful"; readonly type: "bool"; readonly indexed: true; readonly internalType: "bool"; }, { readonly name: "returnData"; readonly type: "bytes"; readonly indexed: false; readonly internalType: "bytes"; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "TransactionReceived"; readonly inputs: readonly [{ readonly name: "transactionId"; readonly type: "bytes32"; readonly indexed: false; readonly internalType: "bytes32"; }, { readonly name: "envelopeId"; readonly type: "bytes32"; readonly indexed: true; readonly internalType: "bytes32"; }, { readonly name: "originChainId"; readonly type: "uint256"; readonly indexed: true; readonly internalType: "uint256"; }, { readonly name: "transaction"; readonly type: "tuple"; readonly indexed: false; readonly internalType: "struct Transaction"; readonly components: readonly [{ readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "encodedEnvelope"; readonly type: "bytes"; readonly internalType: "bytes"; }]; }, { readonly name: "bridgeAdapter"; readonly type: "address"; readonly indexed: true; readonly internalType: "address"; }, { readonly name: "confirmations"; readonly type: "uint8"; readonly indexed: false; readonly internalType: "uint8"; }]; readonly anonymous: false; }, { readonly type: "error"; readonly name: "EthTransferFailed"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "OnlyRescueGuardian"; readonly inputs: readonly []; }]; export { ICrossChainController_ABI };